11 #include <vlutil/vlConfig.h>
16 #include <boost/unordered_set.hpp>
57 virtual void removeVrfObject(
const DtVrfObject * vrfObject) = 0;
62 virtual bool setResolutions(
unsigned int xRes,
unsigned int yRes,
63 unsigned int zRes) = 0;
67 virtual void clearVrfObjects() = 0;
101 virtual bool getVrfObjects(
const DtExtent& extent,
107 virtual bool getVrfObjects(
DtChord& chord, std::list<const DtVrfObject*>& objects)
const = 0;
110 std::list<const DtVrfObject*>& objects)
const = 0;
143 unsigned int zRes = 1);
161 unsigned int cellCountX,
unsigned int cellCountY,
unsigned int cellCountZ);
182 virtual unsigned int xResolution()
const;
184 virtual unsigned int yResolution()
const;
186 virtual unsigned int zResolution()
const;
189 virtual void resolutions(
unsigned int& xRes,
unsigned int& yRes,
190 unsigned int& zRes)
const;
228 std::list<const DtVrfObject*>& objects)
const;
258 virtual bool createSpatialContainer(
const DtExtent& extent,
unsigned int cellCountX,
259 unsigned int cellCountY,
unsigned int cellCountZ);
DtSpatialContainer * myVrfObjectSpatialContainer
Spatial container of DtVrfObjects.
Definition: spatialVrfObjectManager.h:286
virtual void removeVrfObject(const DtVrfObject *vrfObject)=0
Removes vrfObject from the set of vrfObjects we are maintaining.
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
std::vector< const DtVrfObject * > DtNonSpatialContainer
Definition: spatialVrfObjectManager.h:134
Implementation of a spatial object manager based on DtSpatialSubdivision.
Definition: spatialVrfObjectManager.h:130
virtual void visitVrfObjects(const DtExtent &extent, DtSpatialSelectionFunctor &callback) const =0
Functions that call the specified functor for every object intersecting the requested region (whether...
virtual bool getVrfObjects(const DtExtent &extent, DtVrfConstObjectUniqueContainer &objects) const =0
The DtSpatialVrfObjectManager is responsible for maintaining a spatial organization of all specified ...
Definition: spatialVrfObjectManager.h:34
*bool testInvariant() const
virtual ~DtSpatialSelectionFunctor()
Virtual Destructor which does nothing.
Definition: spatialVrfObjectManager.h:38
std::list< const DtVrfObject * > DtVrfObjectContainer
Definition: spatialVrfObjectManager.h:99
virtual void reset(const DtManagedObjectListConstPtr &vrfObjects)=0
Clears out the current subdivision, sets it to have the minimum extent, that contains all of the DtVr...
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
virtual ~DtSpatialVrfObjectManagerInterface()
Definition: spatialVrfObjectManager.h:49
Instances of DtVrfObjectPredicate are used to evaluate a condition, given a DtVrfObject as an argumen...
Definition: vrfObjectPredicate.h:21
boost::unordered_set< const DtVrfObject * > DtVrfConstObjectUniqueContainer
Definition: spatialVrfObjectManager.h:97
virtual bool operator()(const T *object)=0
Abstract function call interface.
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtSpatialSubdivision< const DtVrfObject * > DtSpatialContainer
Definition: spatialVrfObjectManager.h:133
static DtOctree< const DtVrfObject > * createOctree(const DtExtent &extent)
Definition: spatialVrfObjectManager.h:295
Abstract interface for a spatial object manager.
Definition: spatialVrfObjectManager.h:46
DtNonSpatialContainer::const_iterator DtNonSpatialVrfObjectConstIter
Definition: spatialVrfObjectManager.h:136
virtual void clearVrfObjects()=0
Clears all managed objects from the manager.
boost::unordered_set< const DtVrfObject * > DtVrfObjectUniqueContainer
Set of functions used to get the relevant DtVrfObjects from the object manager.
Definition: spatialVrfObjectManager.h:96
DtNonSpatialContainer::iterator DtNonSpatialVrfObjectIter
Definition: spatialVrfObjectManager.h:135
virtual bool setResolutions(unsigned int xRes, unsigned int yRes, unsigned int zRes)=0
Deprecated – doesn't apply to octree manager.
DtBoost::shared_ptr< const DtManagedObjectList > DtManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList.
Definition: managedObjectList.h:31
Definition: spatialSubdivision.h:68
DtNonSpatialContainer myNonSpatiallyOrganizedObjects
Container of objects that fall outside of the spatial subdivision.
Definition: spatialVrfObjectManager.h:292
virtual void addVrfObjects(const DtManagedObjectListConstPtr &vrfObjects)=0
Spatially sorts the vrfObjects associated in the vrfObjects.