//-*-c++-*- #ifndef INCLUDED_LocalMapDemo_h_ #define INCLUDED_LocalMapDemo_h_ #include "DualCoding/DualCoding.h" #include "Events/EventBase.h" #include "Sound/SoundManager.h" using namespace DualCoding; class LocalMapDemo : public VisualRoutinesBehavior { public: LocalMapDemo(): VisualRoutinesBehavior("LocalMapDemo") {} virtual void DoStart() { VisualRoutinesBehavior::DoStart(); //**************** Set up map builder request **************** const int pink_index = ProjectInterface::getColorIndex("pink"); const int orange_index = ProjectInterface::getColorIndex("orange"); const int green_index = ProjectInterface::getColorIndex("green"); const int yellow_index = ProjectInterface::getColorIndex("yellow"); NEW_SHAPE(gazePt, PointData, new PointData(camShS,Point(400,0,-100))); MapBuilderRequest req(MapBuilderRequest::localMap); req.searchArea = gazePt; req.maxDist = 1500; req.numSamples = 5; req.pursueShapes = true; req.objectColors[lineDataType].insert(pink_index); req.occluderColors[lineDataType].insert(orange_index); req.occluderColors[lineDataType].insert(yellow_index); req.occluderColors[lineDataType].insert(green_index); req.objectColors[ellipseDataType].insert(orange_index); req.objectColors[ellipseDataType].insert(yellow_index); req.objectColors[ellipseDataType].insert(green_index); unsigned int mapreq_id = mapBuilder.executeRequest(req); erouter->addListener(this, EventBase::mapbuilderEGID, mapreq_id, EventBase::statusETID); } virtual void processEvent(const EventBase &event) { cout << "MapBuilder returned " << event.getDescription() << endl; sndman->playFile("barklow.wav"); cout << "Found " << localShS.allShapes().size() << " shapes." << endl; } virtual std::string getName() const {return "LocalMapDemo"; } }; #endif