VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/spatialVrfObjectManagerOctree.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: spatialVrfObjectManagerOctree.h,v $ $Revision: 1.3 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef spatialVrfObjectManagerOctree_H_
00013 #define spatialVrfObjectManagerOctree_H_
00014 
00015 #include "vrfobjcore/spatialVrfObjectManager.h"
00016 #include "geometry/tdbextent.h"
00017 
00018 template<class T> class DtOctree;
00019 
00023 
00024 class DT_DLL_vrfobjcore DtSpatialVrfObjectManagerOctree : public DtSpatialVrfObjectManagerInterface
00025 {
00026 private:
00028 
00029    DtSpatialVrfObjectManagerOctree();
00030    DtSpatialVrfObjectManagerOctree(const DtSpatialVrfObjectManagerOctree& orig);
00031    DtSpatialVrfObjectManagerOctree& operator=(const DtSpatialVrfObjectManagerOctree& orig);
00033 public:
00034    DtSpatialVrfObjectManagerOctree(const DtManagedObjectListConstPtr& vrfObjList);
00035 
00036    virtual ~DtSpatialVrfObjectManagerOctree();
00037 
00039    virtual void addVrfObjects(const DtManagedObjectListConstPtr& vrfObjects);
00040 
00044    virtual void removeVrfObject(DtVrfObject * vrfObject);
00045 
00047    virtual bool setResolutions(unsigned int xRes, unsigned int yRes, 
00048       unsigned int zRes);
00049 
00052    virtual void clearVrfObjects();
00053    
00064    virtual void reset(const DtManagedObjectListConstPtr& vrfObjects);
00065 
00066     
00069 
00078 
00079    virtual bool getVrfObjects(const DtExtent& extent, std::set<DtVrfObject*>& objects);
00080    virtual bool getVrfObjects(const DtExtent& extent, std::set<const DtVrfObject*>& objects) const;
00081 
00082    virtual bool getVrfObjects(DtVrfObjectPredicate& predicate, const DtExtent& extent,
00083       std::set<DtVrfObject*>& objects);
00084    virtual bool getVrfObjects(DtVrfObjectPredicate& predicate, const DtExtent& extent,
00085       std::set<const DtVrfObject*>& objects) const;
00086 
00087    virtual bool getVrfObjects(DtChord& chord, std::list<DtVrfObject*>& objects);
00088    virtual bool getVrfObjects(DtChord& chord, std::list<const DtVrfObject*>& objects) const;
00089    
00090    virtual bool getVrfObjects(DtVrfObjectPredicate& predicate, DtChord& chord,
00091       std::list<DtVrfObject*>& objects);
00092    virtual bool getVrfObjects(DtVrfObjectPredicate& predicate, DtChord& chord,
00093       std::list<const DtVrfObject*>& objects) const;
00095 
00106 
00107    virtual void visitVrfObjects(const DtExtent& extent, DtSpatialSelectionFunctor &callback) const;
00108    virtual void visitVrfObjects(const DtChord& chord, DtSpatialSelectionFunctor& callback) const; 
00109 protected:
00110 
00112    DtExtent myRootExtent;
00113 
00115    DtOctree<DtVrfObject>* myOctree;
00116 };
00117 
00118 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)