VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
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
14
#include <
terrainInterface/terrainPagingGeometry.h
>
15
16
#include <tbb/spin_rw_mutex.h>
17
18
class
btIDebugDraw
;
19
20
21
typedef
std::multimap<DtNodeId, btCollisionObject*>
DtNodeToCollObjMMap
;
22
typedef
std::pair<DtNodeToCollObjMMap::iterator, DtNodeToCollObjMMap::iterator>
23
DtNodeToCollObjRangePair
;
24
28
class
DT_DLL_vantageTerrainImplementation
DtTerrainSourceTracker
29
{
30
public
:
31
32
DtTerrainSourceTracker
(
DtPagerCommandQueue
* commandQueue);
33
34
virtual
~
DtTerrainSourceTracker
();
35
37
virtual
bool
dataAvailable(
DtPagingMetaDataPtr
metaData,
38
DtTerrainPagingGeometryPtr
geometry) = 0;
39
40
virtual
void
pageInData(
DtPagingMetaDataPtr
metaData,
41
DtTerrainPagingGeometryPtr
geometry) = 0;
42
43
virtual
void
drawDebugInfo(
btIDebugDraw
* debugDrawer) = 0;
44
45
//Should return true if the tracker is capable of paging out data.
46
virtual
bool
canPageOutData(
unsigned
int
intersectId) = 0;
47
48
virtual
unsigned
int
findOldestPagedData(
unsigned
int
& numTriangles) = 0;
49
50
virtual
void
pageOutOldestData(
const
int
priority) = 0;
51
52
virtual
void
addNodeToCollisionMapping(
DtNodeId
node,
53
btCollisionObject* collisionObject);
54
virtual
void
removeNodeToCollisionMappings(
DtNodeId
node);
55
56
virtual
std::list<btCollisionObject*> collisionObjectsForNode(
57
DtNodeId
node);
58
59
protected
:
60
61
DtPagerCommandQueue
*
myCommandQueue
;
62
63
DtNodeToCollObjMMap
myNodeToCollObjMMap
;
64
65
mutable
tbb::spin_rw_mutex
myMutex
;
66
};
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)