VR-Forces 4.3 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;
25 
31 {
32 private:
34 
36  DtActivePageTracker& operator=(const DtActivePageTracker&);
38 
39 public:
42 
44  virtual ~DtActivePageTracker();
45 
47  virtual void setDrawMode(DtDrawMode);
48 
52  virtual void drawDebugInfo(bool force = false);
53 
54  virtual void setCoordinateSystem(const Coordinate_System*);
55 
59  virtual void setWorldPagedOut(bool v);
60 
69  virtual void pageInData(DtPagingMetaDataPtr metaData,
71 
73  virtual bool pageInUnavailableData(DtPagingMetaDataPtr metaData,
75 
80  virtual bool dataAvailable(DtPagingMetaDataPtr metaData,
82 
89 
91  virtual void addTerrainSourceTracker(
92  DtTerrainSourceTracker* terrainSourceTracker);
93 
94  virtual void removeTerrainSourceTracker(
95  DtTerrainSourceTracker* terrainSourceTracker);
96 
100  virtual void addIntersectChord(const DtChord& intersectChord);
101 
105  virtual void addIntersectSphere(const DtSphere& intersectSphere);
106 
108  virtual bool canPageOutData(DtTerrainIntersectIDType intersectId = 0);
109 
114  virtual unsigned int pageOutData(const int priority,
115  unsigned int numTrianglesToPageOut, DtTerrainIntersectIDType intersectId);
116 
118  virtual DtTerrainIntersectIDType findOldDataIntersectId(unsigned int* numTriangles = 0);
119 
120  virtual void setIntersectDataLoadExpireTime(const double& expireTime);
121 
122 protected:
123 
125  const Coordinate_System* myCoordinateSystem;
126 
130 
132  mutable tbb::spin_mutex myDirtyFlagMutex;
134 
136  std::auto_ptr<DtSharedMemoryBulletDebugDrawer> myPagingDebugDrawer;
137 
139  std::auto_ptr<DtSharedMemoryBulletDebugDrawer> myIntersectDebugDrawer;
140 
144 
146 
147  std::list<DtChord> myIntersectChords;
148  std::list<DtSphere> myIntersectSpheres;
150 
152 
153  mutable tbb::spin_rw_mutex myMutex;
154 };
155 
156 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)