VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
activePageTracker.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvCore/DtDe.h>
14 
15 #include <tbb/spin_rw_mutex.h>
16 
20 
22 
24 class btIDebugDraw;
26 
32 {
33 private:
35 
37  DtActivePageTracker& operator=(const DtActivePageTracker&);
39 
40 public:
43 
45  virtual ~DtActivePageTracker();
46 
48  virtual void setDrawMode(DtDrawMode);
49 
51  virtual void setVantageTerrainEngine(DtVantageTerrainEngine*);
52 
56  virtual void drawDebugInfo(bool force = false);
57 
66  virtual void pageInData(DtPagingMetaDataPtr metaData,
68 
70  virtual bool pageInUnavailableData(DtPagingMetaDataPtr metaData,
72 
77  virtual bool dataAvailable(DtPagingMetaDataPtr metaData,
79 
86 
88  virtual void addTerrainSourceTracker(
89  DtTerrainSourceTracker* terrainSourceTracker);
90 
91  virtual void removeTerrainSourceTracker(
92  DtTerrainSourceTracker* terrainSourceTracker);
93 
97  virtual void addIntersectChord(const DtChord& intersectChord);
98 
102  virtual void addIntersectSphere(const DtSphere& intersectSphere);
103 
105  virtual bool canPageOutData(DtTerrainIntersectIDType intersectId = 0);
106 
111  virtual unsigned int pageOutData(const int priority,
112  unsigned int numTrianglesToPageOut, DtTerrainIntersectIDType intersectId);
113 
115  virtual DtTerrainIntersectIDType findOldDataIntersectId(unsigned int* numTriangles = 0);
116 
117  virtual void setIntersectDataLoadExpireTime(const double& expireTime);
118 
119  virtual bool printInfo() const;
120 
121 protected:
124 
126  mutable tbb::spin_mutex myDirtyFlagMutex;
128 
130  std::auto_ptr<DtSharedMemoryBulletDebugDrawer> myPagingDebugDrawer;
131 
133  std::auto_ptr<DtSharedMemoryBulletDebugDrawer> myIntersectDebugDrawer;
134 
138 
140 
141  std::list<DtChord> myIntersectChords;
142  std::list<DtSphere> myIntersectSpheres;
144 
146 
147  mutable tbb::spin_rw_mutex myMutex;
148 };
149 
150 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)