VR-Forces Development_Version 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 
61  virtual void setWorldPagedOut(bool v);
62 
71  virtual void pageInData(DtPagingMetaDataPtr metaData,
73 
75  virtual bool pageInUnavailableData(DtPagingMetaDataPtr metaData,
77 
82  virtual bool dataAvailable(DtPagingMetaDataPtr metaData,
84 
91 
93  virtual void addTerrainSourceTracker(
94  DtTerrainSourceTracker* terrainSourceTracker);
95 
96  virtual void removeTerrainSourceTracker(
97  DtTerrainSourceTracker* terrainSourceTracker);
98 
102  virtual void addIntersectChord(const DtChord& intersectChord);
103 
107  virtual void addIntersectSphere(const DtSphere& intersectSphere);
108 
110  virtual bool canPageOutData(DtTerrainIntersectIDType intersectId = 0);
111 
116  virtual unsigned int pageOutData(const int priority,
117  unsigned int numTrianglesToPageOut, DtTerrainIntersectIDType intersectId);
118 
120  virtual DtTerrainIntersectIDType findOldDataIntersectId(unsigned int* numTriangles = 0);
121 
122  virtual void setIntersectDataLoadExpireTime(const double& expireTime);
123 
124  virtual bool printInfo() const;
125 
126 protected:
129 
133 
135  mutable tbb::spin_mutex myDirtyFlagMutex;
137 
139  std::auto_ptr<DtSharedMemoryBulletDebugDrawer> myPagingDebugDrawer;
140 
142  std::auto_ptr<DtSharedMemoryBulletDebugDrawer> myIntersectDebugDrawer;
143 
147 
149 
150  std::list<DtChord> myIntersectChords;
151  std::list<DtSphere> myIntersectSpheres;
153 
155 
156  mutable tbb::spin_rw_mutex myMutex;
157 };
158 
159 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)