VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vantageTerrainImplementation
terrainSourceTracker.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2010 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
9
#pragma once
10
11
#include <
vantageTerrainImplementation/terrainSourcePager.h
>
12
#include <
vantageTerrainImplementation/vantageTerrainImplementationDefines.h
>
13
#include <
vantageTerrainImplementation/osgToBullet.h
>
14
15
#include <
terrainInterface/terrainPagingGeometry.h
>
16
#include <
terrainInterface/terrainIntersectOptions.h
>
17
18
#include <
vrfutil/terrainInterfaceConfig.h
>
19
20
#include <tbb/spin_rw_mutex.h>
21
#include <boost/unordered_map.hpp>
22
#include <boost/optional.hpp>
23
24
typedef
boost::unordered_multimap<DtNodeId, boost::shared_ptr<btCollisionObject> >
DtNodeToCollObjMMap
;
25
typedef
std::pair<DtNodeToCollObjMMap::iterator, DtNodeToCollObjMMap::iterator>
26
DtNodeToCollObjRangePair
;
27
28
class
DtVantageTerrainEngine
;
29
33
class
DT_DLL_vantageTerrainImplementation
DtTerrainSourceTracker
34
{
35
public
:
36
37
DtTerrainSourceTracker
(
DtVantageTerrainEngine
*,
DtPagerCommandQueue
* commandQueue);
38
39
virtual
~
DtTerrainSourceTracker
();
40
41
virtual
DtTerrainInterfaceConfig
& configOptions();
42
virtual
const
DtTerrainInterfaceConfig
& configOptions()
const
;
43
46
virtual
bool
init
(
DtTerrainSourcePager
&);
47
52
virtual
boost::optional<DtTerrainIntersectOptions::Fidelity> intersectFidelity()
const
;
53
55
virtual
bool
dataAvailable(
DtPagingMetaDataPtr
metaData,
56
DtTerrainPagingGeometryPtr
geometry) = 0;
57
58
virtual
void
pageInData(
DtPagingMetaDataPtr
metaData,
59
DtTerrainPagingGeometryPtr
geometry) = 0;
60
61
//Should return true if the tracker is capable of paging out data.
62
virtual
bool
canPageOutData(
DtTerrainIntersectIDType
intersectId) = 0;
63
64
virtual
DtTerrainIntersectIDType
findOldestPagedData(
unsigned
int
& numTriangles) = 0;
65
66
virtual
void
pageOutOldestData(
const
int
priority) = 0;
67
68
virtual
void
addNodesToCollisionMapping(
DtNodeId
node,
69
DtCollisionObjectList
* collObjList);
70
71
virtual
void
removeNodeToCollisionMappings(
DtNodeId
node);
72
73
virtual
DtCollisionObjectList
collisionObjectsForNode(
DtNodeId
node);
74
75
virtual
const
Coordinate_System
* localCS()
const
;
76
77
virtual
void
setLabel(
const
DtString
&);
78
79
virtual
void
printInfo()
const
;
80
81
protected
:
82
DtString
myLabel
;
83
84
DtTerrainInterfaceConfig
myConfig
;
85
86
DtPagerCommandQueue
*
myCommandQueue
;
87
88
DtNodeToCollObjMMap
myNodeToCollObjMMap
;
89
90
mutable
tbb::spin_rw_mutex
myMutex
;
91
92
DtVantageTerrainEngine
*
myVantageTerrainEngine
;
93
};
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)