VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
activePageTracker.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <tbb/spin_rw_mutex.h>
14 
17 #include <vrfutil/sphere2.h>
18 
21 
23 
27 
28 namespace makVrv
29 {
30  class DtDe;
31 }
32 
38 {
39 private:
41 
43  DtActivePageTracker& operator=(const DtActivePageTracker&);
45 
46 public:
49 
51  virtual ~DtActivePageTracker();
52 
54  virtual void setVantageTerrainEngine(DtVantageTerrainEngine*);
55 
65  virtual void pageInData(DtPagingMetaDataPtr metaData,
68 
71  virtual bool pageInUnavailableData(DtPagingMetaDataPtr metaData,
74 
80  virtual bool dataAvailable(DtPagingMetaDataPtr metaData,
83 
90 
92  virtual void addTerrainSourceTracker(
93  DtTerrainSourceTracker* terrainSourceTracker);
94 
95  virtual void removeTerrainSourceTracker(
96  DtTerrainSourceTracker* terrainSourceTracker);
97 
99  virtual bool canPageOutData(DtTerrainIntersectIDType intersectId = 0);
100 
105  virtual unsigned int pageOutData(const int priority,
106  unsigned int numTrianglesToPageOut, DtTerrainIntersectIDType intersectId);
107 
108  virtual void setIntersectDataLoadExpireTime(const double& expireTime);
109 
110  virtual bool printInfo() const;
111 
112  virtual void getPageInData(DtNodeBoundingList& nodeBoundingList);
113 
114  virtual void getPageOutData(DtNodeBoundingList& nodeBoundingList);
115 
116  virtual void getProceduralTreeTile(DtDebugDrawTerrainOutputInterface::terrainLineList& nodeBoundingList);
117 
118 protected:
121 
125 
127 
128  mutable tbb::spin_rw_mutex myMutex;
129 };
130 
131 
DtVantageTerrainEngine * myTerrainEngine
Definition: activePageTracker.h:119
DtBoost::shared_ptr< DtTerrainPagingGeometry > DtTerrainPagingGeometryPtr
Definition: terrainPagingGeometry.h:41
Definition: terrainIntersectOptions.h:78
This class keeps track of what parts of the terrain database are currently paged in and what ones are...
Definition: activePageTracker.h:37
tbb::spin_rw_mutex myMutex
Definition: activePageTracker.h:128
std::vector< makVrf::DtLine > terrainLineList
Lines structure/calls/list.
Definition: debugDrawTerrainOutputInterface.h:90
unsigned long long DtTerrainIntersectIDType
Definition: terrainInterfaceDefines.h:28
DtTerrainSourceTrackerList myTerrainSourceTrackers
List of terrain source trackers that will determine whether all the necessary data is paged in for th...
Definition: activePageTracker.h:124
std::list< DtSphere2 > DtNodeBoundingList
Definition: sphere2.h:20
Base class for Terrain Source trackers.
Definition: terrainSourceTracker.h:40
Fidelity
Allows the system to use differently fidelity data for intersecting against.
Definition: terrainIntersectOptions.h:76
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
Definition: vantageTerrainConsoleCommands.h:47
This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector.
Definition: vantageTerrainEngine.h:93
std::list< DtTerrainSourceTracker * > DtTerrainSourceTrackerList
Definition: vantageTerrainImplementationUtil.h:25
double myIntersectDataLoadExpireTime
Definition: activePageTracker.h:126
DtBoost::shared_ptr< DtPagingMetaData > DtPagingMetaDataPtr
Definition: terrainPagingGeometry.h:89
DtPrintPagingInfoCommand * myPrintInfoCommand
Definition: activePageTracker.h:120
Interface to query terrain polygon.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)