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
terrainSourcePager.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2010 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
#pragma once
6
9
10
#include <string>
11
12
#include <tbb/spin_rw_mutex.h>
13
#include <tbb/concurrent_queue.h>
14
#include <tbb/atomic.h>
15
16
#include <osg/Node>
17
18
#include <
vantageTerrainImplementation/terrainPagerCommand.h
>
19
#include <
vantageTerrainImplementation/vantageTerrainImplementationDefines.h
>
20
21
#include <
vrfutil/terrainInterfaceConfig.h
>
22
23
class
DtVantageTerrainEngine
;
24
class
DtActivePageTracker
;
25
class
DtTerrainSourceTracker
;
26
27
typedef
std::multimap<int, DtTerrainPagerCommand*>
DtCommandPriorityMultimap
;
28
33
class
DT_DLL_vantageTerrainImplementation
DtTerrainSourcePager
34
:
public
DtTerrainInterfaceConfig
35
{
36
public
:
37
39
DtTerrainSourcePager
(
DtVantageTerrainEngine
* terrainEngine);
40
42
virtual
~
DtTerrainSourcePager
();
43
47
virtual
void
tick();
48
50
virtual
DtTerrainSourceTracker
* createTerrainSourceTracker(
DtVantageTerrainEngine
*) = 0;
51
53
virtual
DtTerrainSourceTracker
* terrainSourceTracker();
54
55
virtual
void
updatePageTracker(
DtTerrainIntersectIDType
intersectId = 0) = 0;
56
60
virtual
int
highestPriorityPendingWork();
61
64
virtual
void
processCommandQueue();
65
69
virtual
void
setCurrentTime(
const
double
& currentTime);
70
72
virtual
unsigned
long
numTriangles()
const
;
73
74
virtual
bool
quitFlagSet()
const
;
75
virtual
void
setQuit(
bool
);
76
77
virtual
const
Coordinate_System
* localCS()
const
;
78
79
virtual
void
setLabel(
const
DtString
&);
80
virtual
DtString
label()
const
;
81
82
protected
:
83
virtual
unsigned
long
addNumTriangles(
long
);
84
85
typedef
tbb::spin_rw_mutex
Mutex
;
86
mutable
Mutex
myMutex
;
87
88
DtString
myName
;
89
91
tbb::atomic<bool>
myQuitFlag
;
92
95
DtVantageTerrainEngine
*
myTerrainEngine
;
96
98
DtTerrainSourceTracker
*
myTerrainSourceTracker
;
99
103
double
myCurrentTime
;
104
106
DtPagerCommandQueue
myCommandQueue
;
107
110
DtCommandPriorityMultimap
myPriorityCommandMultimap
;
111
113
unsigned
long
myNumTriangles
;
114
};
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
)