![]() |
VR-Forces 5.0.3 Developer's Guide
|
Abstract interface for a spatial object manager.

Public Types | |
| typedef std::vector< const DtSimObject * > | DtVrfObjectUniqueContainer |
| typedef std::vector< const DtSimObject * > | DtVrfConstObjectUniqueContainer |
| typedef std::vector< const DtSimObject * > | DtVrfObjectContainer |
Public Member Functions | |
| virtual | ~DtSpatialVrfObjectManagerInterface () |
| virtual void | addVrfObjects (const DtManagedObjectListConstPtr &vrfObjects)=0 |
| virtual void | removeVrfObject (const DtSimObject *vrfObject)=0 |
| virtual bool | setResolutions (unsigned int xRes, unsigned int yRes, unsigned int zRes)=0 |
| virtual void | clearVrfObjects ()=0 |
| virtual void | reset (const DtManagedObjectListConstPtr &vrfObjects)=0 |
| virtual bool | getVrfObjects (const DtExtent &extent, DtVrfConstObjectUniqueContainer &objects) const =0 |
| virtual bool | getVrfObjects (const DtVrfObjectPredicate &predicate, const DtExtent &extent, DtVrfConstObjectUniqueContainer &objects) const =0 |
| virtual bool | getVrfObjects (const DtChord &chord, std::list< const DtSimObject * > &objects) const =0 |
| virtual bool | getVrfObjects (const DtVrfObjectPredicate &predicate, const DtChord &chord, std::list< const DtSimObject * > &objects) const =0 |
| virtual void | visitVrfObjects (const DtExtent &extent, DtSpatialSelectionFunctor &callback) const =0 |
| virtual void | visitVrfObjects (const DtChord &chord, DtSpatialSelectionFunctor &callback) const =0 |
| virtual unsigned int | numObjects () const =0 |
|
inlinevirtual |
|
pure virtual |
Spatially sorts the vrfObjects associated in the vrfObjects.
Implemented in DtSpatialVrfObjectManager, DtSpatialVrfObjectManagerHybrid, and DtSpatialVrfObjectManagerOctree.
|
pure virtual |
Removes vrfObject from the set of vrfObjects we are maintaining.
| vrfObject | Pointer to the object to be removed. |
Implemented in DtSpatialVrfObjectManager, DtSpatialVrfObjectManagerHybrid, and DtSpatialVrfObjectManagerOctree.
|
pure virtual |
Deprecated – doesn't apply to octree manager. Still necessary for DtSpatialVrfObjectManager. TODO need to push this all into the manager class, instead of having the DtPhysicalWorld assume that things are uniformly subdivided.
Implemented in DtSpatialVrfObjectManager, DtSpatialVrfObjectManagerHybrid, and DtSpatialVrfObjectManagerOctree.
|
pure virtual |
Clears all managed objects from the manager. Does not affect the spatial container, other than to empty its cells of any elements.
Implemented in DtSpatialVrfObjectManager, DtSpatialVrfObjectManagerHybrid, and DtSpatialVrfObjectManagerOctree.
|
pure virtual |
Clears out the current DtSimObjects, sets it to have the minimum extent, that contains all of the DtSimObjects specified, and adds the specified DtSimObjects.
Implemented in DtSpatialVrfObjectManager, DtSpatialVrfObjectManagerHybrid, and DtSpatialVrfObjectManagerOctree.
|
pure virtual |
Functions that call the specified functor for every object intersecting the requested region (whether chord or extent). The functor should return false while additional processing should be done, and true if processing is complete and visitVrfObjects() should return. Note that processing is not guaranteed to stop immediately when the functor returns true; it is only a recommendation that processing can stop at any time.
Implemented in DtSpatialVrfObjectManager, DtSpatialVrfObjectManagerHybrid, and DtSpatialVrfObjectManagerOctree.
|
pure virtual |
Implemented in DtSpatialVrfObjectManager, DtSpatialVrfObjectManagerHybrid, and DtSpatialVrfObjectManagerOctree.
Number of objects in the octree.
Implemented in DtSpatialVrfObjectManagerHybrid, and DtSpatialVrfObjectManagerOctree.