VR-Forces 4.6.1 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
17
#include <
vrfutil/terrainInterfaceConfig.h
>
18
19
#include <tbb/spin_rw_mutex.h>
20
#include <boost/unordered_map.hpp>
21
22
class
btIDebugDraw
;
23
24
25
typedef
boost::unordered_multimap<DtNodeId, boost::shared_ptr<btCollisionObject> >
DtNodeToCollObjMMap
;
26
typedef
std::pair<DtNodeToCollObjMMap::iterator, DtNodeToCollObjMMap::iterator>
27
DtNodeToCollObjRangePair
;
28
29
class
DtVantageTerrainEngine
;
30
34
class
DT_DLL_vantageTerrainImplementation
DtTerrainSourceTracker
35
{
36
public
:
37
38
DtTerrainSourceTracker
(
DtVantageTerrainEngine
*,
DtPagerCommandQueue
* commandQueue);
39
40
virtual
~
DtTerrainSourceTracker
();
41
42
virtual
DtTerrainInterfaceConfig
& configOptions();
43
45
virtual
bool
dataAvailable(
DtPagingMetaDataPtr
metaData,
46
DtTerrainPagingGeometryPtr
geometry) = 0;
47
48
virtual
void
pageInData(
DtPagingMetaDataPtr
metaData,
49
DtTerrainPagingGeometryPtr
geometry) = 0;
50
51
virtual
void
drawDebugInfo(
btIDebugDraw
* debugDrawer) = 0;
52
53
//Should return true if the tracker is capable of paging out data.
54
virtual
bool
canPageOutData(
DtTerrainIntersectIDType
intersectId) = 0;
55
56
virtual
DtTerrainIntersectIDType
findOldestPagedData(
unsigned
int
& numTriangles) = 0;
57
58
virtual
void
pageOutOldestData(
const
int
priority) = 0;
59
60
virtual
void
addNodesToCollisionMapping(
DtNodeId
node,
61
DtCollisionObjectList
* collObjList);
62
63
virtual
void
removeNodeToCollisionMappings(
DtNodeId
node);
64
65
virtual
DtCollisionObjectList
collisionObjectsForNode(
DtNodeId
node);
66
67
virtual
const
Coordinate_System
* localCS()
const
;
68
69
virtual
bool
setDrawMode(
DtDrawMode
);
70
virtual
void
setLabel(
const
DtString
&);
71
72
virtual
void
printInfo()
const
;
73
74
protected
:
75
DtString
myLabel
;
76
77
DtTerrainInterfaceConfig
myConfig
;
78
79
DtPagerCommandQueue
*
myCommandQueue
;
80
81
DtNodeToCollObjMMap
myNodeToCollObjMMap
;
82
83
mutable
tbb::spin_rw_mutex
myMutex
;
84
85
DtVantageTerrainEngine
*
myVantageTerrainEngine
;
86
};
Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (
www.mak.com
)