![]() |
VR-Forces 4.3 Class Documentation
|
The DtNavigationFeatureManager matches streamed objects to other streamed features (buoys and beacons) that have the same location. More...

Public Types | |
| typedef std::map< DtUniqueID, DtNavigationFeature * > | ObjectMap |
| Type for a map of controller IDs to DtNavigationFeature. | |
Public Member Functions | |
| DtNavigationFeatureManager (DtDe &de, DtAgentManagerInterface &sceneInterface, DtBuoyLayer &buoyLayer) | |
| CTOR. | |
| virtual | ~DtNavigationFeatureManager () |
| DTOR. | |
| bool | readObjectStyleListFile (const std::string &path, const std::string &layerListFileName) |
| Read the file that specifies the list of osgEarth style names that we wish to have our registered builder called for when features are streamed in. | |
| virtual void | addObject (DtNavigationFeature *object)=0 |
| Add a object (ex. | |
| DtNavigationFeature * | findObject (DtUniqueID elementId) |
| Finds a pointer to the object controller with the given element id. | |
| virtual bool | destroyObject (DtUniqueID id) |
| Destroys the object with the element id. | |
| virtual DtUniqueID | findObjectWithPosition (const DtVector &position) |
| Look through the list of unattached objects for a object with the specified position. | |
| const ObjectMap & | objects () const |
| Get the container of objects associated held by the manager. | |
| ObjectMap & | objects () |
| Get the container of objects associated held by the manager. | |
| virtual bool | needsUpdate (DtTime tNow)=0 |
| Tickable implementation The check function called by DtTickableManager to verify if an update is required. | |
| virtual void | update (DtTime tNow)=0 |
| The update function called by DtTickableManager during update-ticks. | |
Public Member Functions inherited from makVrv::DtTickable | |
| virtual | ~DtTickable () |
| Virtual DTOR. | |
Protected Types | |
| typedef std::list< std::string > | ObjectStylesList |
| typedef boost::unordered_map < DtUniqueID, DtVector > | PendingObjectAttachmentMap |
| Type for hash table of object ids and locations. | |
| typedef boost::unordered_map < DtUniqueID, DtUniqueID > | ObjectToObjectMap |
| Type for hash tables of objects to attached buoys and attached buoys to objects. | |
Protected Member Functions | |
| DtNavigationFeatureManager () | |
| CTOR (unimplemented default CTOR ) | |
| DtNavigationFeatureManager (const DtNavigationFeatureManager &orig) | |
| Copy CTOR (unimplemented) | |
| DtNavigationFeatureManager & | operator= (const DtNavigationFeatureManager &rhs) |
| Assigment operator (unimplemented) | |
| virtual void | attachToBuoy (DtNavigationFeature &controller, DtBuoyOrBeaconFacade &buoy)=0 |
| Helper function for setting up a buoy/beacon attachment. | |
| virtual void | detachFromBuoy (DtNavigationFeature &controller, DtBuoyOrBeaconFacade &buoy)=0 |
| Helper function for detaching from a buoy/beacon. | |
| virtual void | moveObjectToDetachedObjectList (DtUniqueID controllerId) |
| Move objects from the list of attached objects to the list of unattached objects. | |
| virtual void | moveObjectToAttachedObjectList (DtUniqueID controllerId) |
| Move objects from the list of unattached objects to the list of attached objects. | |
| virtual void | initializeFeatureCreators ()=0 |
| Register creators with the streamed feature manager for each object layer (osgEarth model style) of interest. | |
| virtual void | slot_featureToBeDeleted (const std::string &myLayerName, DtUniqueID featureId) |
| Slot connected to signal from the streamed feature manager that a object has paged out. | |
| virtual void | slot_buoyCreated (DtBuoyOrBeaconFacade &buoy, const DtVector &initialPosition)=0 |
| Slot connected to signal from the streamed feature manager that a buoy has paged in. | |
| virtual void | slot_buoyAboutToBeDestroyed (const DtBuoyOrBeaconFacade &buoy) |
| Slot connected to signal from the streamed feature manager that a buoy has paged out. | |
| void | slot_sceneCreated () |
| If the IG is initialized when this is called, it will call initializeFeatureCreators. | |
| void | slot_postInitialize () |
| slot used to wait for postInitialized signal | |
Protected Member Functions inherited from makVrv::DtTickable | |
| DtTickable (DtTickableManagerInterface *manager) | |
| CTOR. | |
| DtTickable () | |
| Unimplemented default CTOR. | |
Protected Attributes | |
| const char * | ObjectLayerList |
| const char * | ObjectAttrMapFilename |
| DtDe & | myDe |
| DtAgentManagerInterface & | mySceneInterface |
| ObjectMap | myObjects |
| DtSignalConnectionManager | myConnections |
| DtNavigationFeatureStringParser * | myObjectStringParser |
| std::string | myName |
| ObjectStylesList | myObjectStylesList |
| The list of osgEarth model styles we want to be notified about. | |
| PendingObjectAttachmentMap | myDetachedObjects |
| Objects start here. When attached they move to... | |
| PendingObjectAttachmentMap | myAttachedObjects |
| ...here. | |
| ObjectToObjectMap | myObjectToBuoyMap |
| ObjectToObjectMap | myBuoyToObjectMap |
| DtBuoyLayer & | myBuoyLayer |
| Access to the buoys. | |
| boost::signals::connection | myPostInitializeConnection |
Protected Attributes inherited from makVrv::DtTickable | |
| DtTickableManagerInterface * | myManager |
| Pointer to manager for removal during destruction. | |
The DtNavigationFeatureManager matches streamed objects to other streamed features (buoys and beacons) that have the same location.
It is also responsible for updating the objects and removing them when the streamed objects page out
| typedef std::map<DtUniqueID, DtNavigationFeature*> makVrv::DtNavigationFeatureManager::ObjectMap |
Type for a map of controller IDs to DtNavigationFeature.
|
protected |
|
protected |
Type for hash table of object ids and locations.
|
protected |
Type for hash tables of objects to attached buoys and attached buoys to objects.
| makVrv::DtNavigationFeatureManager::DtNavigationFeatureManager | ( | DtDe & | de, |
| DtAgentManagerInterface & | sceneInterface, | ||
| DtBuoyLayer & | buoyLayer | ||
| ) |
CTOR.
|
virtual |
DTOR.
|
protected |
CTOR (unimplemented default CTOR )
|
protected |
Copy CTOR (unimplemented)
| bool makVrv::DtNavigationFeatureManager::readObjectStyleListFile | ( | const std::string & | path, |
| const std::string & | layerListFileName | ||
| ) |
Read the file that specifies the list of osgEarth style names that we wish to have our registered builder called for when features are streamed in.
|
pure virtual |
Add a object (ex.
light, daymark). The manager takes ownership of the controller
Implemented in makVrv::DtNavigationDaymarkManager, and makVrv::DtNavigationLightManager.
| DtNavigationFeature* makVrv::DtNavigationFeatureManager::findObject | ( | DtUniqueID | elementId | ) |
Finds a pointer to the object controller with the given element id.
|
virtual |
Destroys the object with the element id.
Returns true if the object was destroyed, false otherwise.
| const ObjectMap& makVrv::DtNavigationFeatureManager::objects | ( | ) | const |
Get the container of objects associated held by the manager.
| ObjectMap& makVrv::DtNavigationFeatureManager::objects | ( | ) |
Get the container of objects associated held by the manager.
Tickable implementation The check function called by DtTickableManager to verify if an update is required.
If this function returns true, the DtTickableManager will then call update().
| [in] | tNow | is the current time-stamp. |
| true |
Implements makVrv::DtTickable.
Implemented in makVrv::DtNavigationDaymarkManager, and makVrv::DtNavigationLightManager.
|
pure virtual |
The update function called by DtTickableManager during update-ticks.
| [in] | tNow | is the current time-stamp. This method calls update() for all attached objects |
Implements makVrv::DtTickable.
Implemented in makVrv::DtNavigationDaymarkManager, and makVrv::DtNavigationLightManager.
|
virtual |
Look through the list of unattached objects for a object with the specified position.
|
protected |
Assigment operator (unimplemented)
|
protectedpure virtual |
Helper function for setting up a buoy/beacon attachment.
Implemented in makVrv::DtNavigationLightManager, and makVrv::DtNavigationDaymarkManager.
|
protectedpure virtual |
Helper function for detaching from a buoy/beacon.
Implemented in makVrv::DtNavigationLightManager, and makVrv::DtNavigationDaymarkManager.
|
protectedvirtual |
Move objects from the list of attached objects to the list of unattached objects.
|
protectedvirtual |
Move objects from the list of unattached objects to the list of attached objects.
|
protectedpure virtual |
Register creators with the streamed feature manager for each object layer (osgEarth model style) of interest.
Implemented in makVrv::DtNavigationLightManager, and makVrv::DtNavigationDaymarkManager.
|
protectedvirtual |
Slot connected to signal from the streamed feature manager that a object has paged out.
|
protectedpure virtual |
Slot connected to signal from the streamed feature manager that a buoy has paged in.
Implemented in makVrv::DtNavigationLightManager, and makVrv::DtNavigationDaymarkManager.
|
protectedvirtual |
Slot connected to signal from the streamed feature manager that a buoy has paged out.
|
protected |
If the IG is initialized when this is called, it will call initializeFeatureCreators.
Otherwise, it connects to the postInitialize signal, which will then call initializeFeatureCreators.
|
protected |
slot used to wait for postInitialized signal
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
The list of osgEarth model styles we want to be notified about.
|
protected |
Objects start here. When attached they move to...
|
protected |
...here.
When buoys attached to a object page out, they move back to the waiting list
|
protected |
|
protected |
|
protected |
Access to the buoys.
|
protected |