VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
spatialVrfObjectManagerOctree.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 #include "geometry/extent.h"
10 
11 template<class T> class DtOctree;
12 
16 
18 {
19 private:
21 
26 public:
28 
30 
32  virtual void addVrfObjects(const DtManagedObjectListConstPtr& vrfObjects);
33 
37  virtual void removeVrfObject(const DtVrfObject * vrfObject);
38 
40  virtual bool setResolutions(unsigned int xRes, unsigned int yRes,
41  unsigned int zRes);
42 
45  virtual void clearVrfObjects();
46 
57  virtual void reset(const DtManagedObjectListConstPtr& vrfObjects);
58 
59 
62 
71 
72  virtual bool getVrfObjects(const DtExtent& extent, DtVrfConstObjectUniqueContainer& objects) const;
73 
74  virtual bool getVrfObjects(DtVrfObjectPredicate& predicate, const DtExtent& extent,
75  DtVrfConstObjectUniqueContainer& objects) const;
76 
77  virtual bool getVrfObjects(DtChord& chord, std::list<const DtVrfObject*>& objects) const;
78 
79  virtual bool getVrfObjects(DtVrfObjectPredicate& predicate, DtChord& chord,
80  std::list<const DtVrfObject*>& objects) const;
82 
93 
94  virtual void visitVrfObjects(const DtExtent& extent, DtSpatialSelectionFunctor &callback) const;
95  virtual void visitVrfObjects(const DtChord& chord, DtSpatialSelectionFunctor& callback) const;
96 protected:
97 
100 
103 };
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
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
DtExtent myRootExtent
The extent of the octree.
Definition: spatialVrfObjectManagerOctree.h:99
The DtSpatialVrfObjectManager is responsible for maintaining a spatial organization of all specified ...
Definition: spatialVrfObjectManager.h:34
DtOctree class.
Definition: octree.h:545
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
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
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
Spatial object manager which uses an octree.
Definition: spatialVrfObjectManagerOctree.h:17
Abstract interface for a spatial object manager.
Definition: spatialVrfObjectManager.h:46
virtual void clearVrfObjects()=0
Clears all managed objects from the manager.
Contains the declaration of the DtExtent class.
virtual bool setResolutions(unsigned int xRes, unsigned int yRes, unsigned int zRes)=0
Deprecated – doesn&#39;t apply to octree manager.
DtBoost::shared_ptr< const DtManagedObjectList > DtManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList.
Definition: managedObjectList.h:31
DtOctree< const DtVrfObject > * myOctree
The octree being used to store the objects.
Definition: spatialVrfObjectManagerOctree.h:102
virtual void addVrfObjects(const DtManagedObjectListConstPtr &vrfObjects)=0
Spatially sorts the vrfObjects associated in the vrfObjects.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)