VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vantageTerrainImplementation
metaflightTerrainSourcePager.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2013 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
9
#pragma once
10
11
#include "
vantageTerrainImplementation/vantageTerrainImplementationDefines.h
"
12
#include "
vrvOsg/DtHierarchicalPagedLod.h
"
13
#include "
vantageTerrainImplementation/boundingVolumeTerrainSourcePager.h
"
14
#include "
vantageTerrainImplementation/pageInVisitor.h
"
15
#include "
vantageTerrainImplementation/boundingVolumeTerrainSourceTracker.h
"
16
17
struct
DT_DLL_vantageTerrainImplementation
DtMetaflightBoundingInfo
18
{
19
DtNodeBoundingInfoPtr
boundingInfo
;
22
bool
boundingInfoFromGeometry
;
23
};
24
25
typedef
boost::unordered_map<makVrv::DtHierarchicalPagedLod*, DtMetaflightBoundingInfo>
DtHierNodeBoundingVolumeMap
;
26
29
class
DT_DLL_vantageTerrainImplementation
DtMetaflightTerrainSourcePager
:
public
DtBoundingVolumeTerrainSourcePager
30
{
31
public
:
32
33
DtMetaflightTerrainSourcePager
(
DtVantageTerrainEngine
* terrainEngine,
34
osg::Group* rootNode,
const
DtFilename& surfaceCharacterMap);
35
36
virtual
~
DtMetaflightTerrainSourcePager
();
37
39
virtual
DtTerrainSourceTracker
*
createTerrainSourceTracker
();
40
41
virtual
bool
pageInGeometry
(
const
DtTerrainPagingGeometryPtr
geometry,
42
const
unsigned
int
intersectId = 0);
43
44
virtual
bool
pageOutNodes
(std::list<DtNodeId>& nodesToRemove);
45
46
virtual
void
updateTerrain
(
const
unsigned
int
intersectId = 0);
47
48
virtual
void
updatePageTracker
(
const
unsigned
int
intersectId = 0);
49
52
static
DtTerrainSourcePager
* terrainChooserFunction(osg::Node& node,
53
DtVantageTerrainEngine
* terrainEngine,
const
DtFilename& surfaceCharacterMap);
54
55
protected
:
56
57
class
DtMetaflightTerrainVisitor
:
public
DtBoundingVolumeActivePageVisitor
58
{
59
public
:
60
DtMetaflightTerrainVisitor
();
61
virtual
~
DtMetaflightTerrainVisitor
();
62
64
virtual
void
apply(osg::Group& node);
65
66
protected
:
67
virtual
void
indent();
68
69
public
:
70
int
myIndentLevel
;
71
};
72
77
78
static
DtNodeId
osgNodeId(
makVrv::DtHierarchicalPagedLod
* node);
79
static
makVrv::DtHierarchicalPagedLod
* nodeFromId(
DtNodeId
nodeId);
81
82
protected
:
83
osg::Group*
myRootNode
;
84
85
88
DtHierNodeBoundingVolumeMap
myPagedInNodes
;
89
DtHierNodeBoundingVolumeMap
myPagedOutNodes
;
90
DtFilename
mySurfaceCharacterMap
;
91
};
92
94
Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)