VR-Forces Development_Version Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vantageTerrainImplementation
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
17
#include <
vantageTerrainImplementation/vantageTerrainImplementationDefines.h
>
18
#include <
vantageTerrainImplementation/vantageTerrainImplementationUtil.h
>
19
#include <
vantageTerrainImplementation/sharedMemoryBulletDebugDrawer.h
>
20
21
#include <
terrainInterface/terrainPagingGeometry.h
>
22
23
class
DtTerrainSourceTracker
;
24
class
btIDebugDraw
;
25
class
DtPrintPagingInfoCommand
;
26
31
class
DT_DLL_vantageTerrainImplementation
DtActivePageTracker
32
{
33
private
:
35
36
DtActivePageTracker
(
const
DtActivePageTracker
&);
37
DtActivePageTracker
& operator=(
const
DtActivePageTracker
&);
39
40
public
:
42
DtActivePageTracker
();
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,
72
DtTerrainPagingGeometryPtr
geometry);
73
75
virtual
bool
pageInUnavailableData(
DtPagingMetaDataPtr
metaData,
76
DtTerrainPagingGeometryPtr
geometry);
77
82
virtual
bool
dataAvailable(
DtPagingMetaDataPtr
metaData,
83
DtTerrainPagingGeometryPtr
geometry);
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
:
127
DtVantageTerrainEngine
*
myTerrainEngine
;
128
DtPrintPagingInfoCommand
*
myPrintInfoCommand
;
129
132
bool
myWorldPagedOut
;
133
135
mutable
tbb::spin_mutex
myDirtyFlagMutex
;
136
bool
myDirtyFlag
;
137
139
std::auto_ptr<DtSharedMemoryBulletDebugDrawer>
myPagingDebugDrawer
;
140
142
std::auto_ptr<DtSharedMemoryBulletDebugDrawer>
myIntersectDebugDrawer
;
143
146
DtTerrainSourceTrackerList
myTerrainSourceTrackers
;
147
149
150
std::list<DtChord>
myIntersectChords
;
151
std::list<DtSphere>
myIntersectSpheres
;
153
154
double
myIntersectDataLoadExpireTime
;
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
)