VR-Forces 4.8 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
pagedLodTerrainSourcePager.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2013 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
6
#pragma once
7
10
12
13
#include <
vantageTerrainImplementation/terrainPagerCommand.h
>
14
#include <
vantageTerrainImplementation/boundingVolumeTerrainSourcePager.h
>
15
#include <
vantageTerrainImplementation/pageInVisitor.h
>
16
#include <
terrainInterface/terrainPagingGeometry.h
>
17
18
#include <set>
19
22
class
DT_DLL_vantageTerrainImplementation
DtPagedLodTerrainSourcePager
23
:
public
DtBoundingVolumeTerrainSourcePager
24
{
25
public
:
26
typedef
std::map<std::string, DtPageInVisitor::NodePagingRecord>
NodePagingRecordMap
;
27
28
DtPagedLodTerrainSourcePager
(
29
DtVantageTerrainEngine
* terrainEngine,
30
osg::Group* rootNode,
31
const
DtFilename& surfaceCharacterMap);
32
33
DtPagedLodTerrainSourcePager
(
34
DtVantageTerrainEngine
* terrainEngine,
35
osg::Group* rootNode,
36
const
osg::Matrix& matrix,
37
const
DtFilename& surfaceCharacterMap);
38
39
virtual
~
DtPagedLodTerrainSourcePager
();
40
42
virtual
DtTerrainSourceTracker
*
createTerrainSourceTracker
(
DtVantageTerrainEngine
*);
43
44
virtual
bool
pageInGeometry
(
45
const
DtTerrainPagingGeometryPtr
geometry,
46
DtTerrainIntersectIDType
intersectId = 0);
47
48
virtual
bool
pageOutNodes
(std::list<DtNodeId>& nodesToRemove);
49
51
virtual
void
updatePageTracker
(
DtTerrainIntersectIDType
intersectId = 0);
52
53
virtual
const
NodePagingRecordMap
& pagedInNodes()
const
;
54
57
static
DtTerrainSourcePager
* terrainChooserFunction(
58
osg::Node& node,
59
DtVantageTerrainEngine
* terrainEngine,
60
const
DtFilename& surfaceCharacterMap);
61
62
protected
:
64
osg::Node* terrainRoot();
65
66
virtual
bool
pageInData(
67
DtPageInVisitor
& visitor,
68
DtTerrainIntersectIDType
intersectId = 0);
69
70
protected
:
72
class
DtActivePageVisitor
:
public
DtBoundingVolumeActivePageVisitor
73
{
74
public
:
75
using
DtBoundingVolumeActivePageVisitor::apply;
76
77
explicit
DtActivePageVisitor
(
78
const
NodePagingRecordMap
&,
DtTerrainIntersectIDType
intersectId = 0);
79
80
virtual
void
apply(osg::Group& node);
81
virtual
void
apply(osg::LOD& node);
82
virtual
void
apply(osg::PagedLOD& node);
83
84
private
:
85
const
NodePagingRecordMap
&
myPagedInNodes
;
86
};
87
89
osg::ref_ptr<osg::Node>
myRootNode
;
90
osg::Matrix
myMatrix
;
91
93
NodePagingRecordMap
myPagedInNodes
;
94
95
DtFilename
mySurfaceCharacterMap
;
96
97
};
98
DtTerrainPagingGeometryPtr
DtBoost::shared_ptr< DtTerrainPagingGeometry > DtTerrainPagingGeometryPtr
Definition:
terrainPagingGeometry.h:41
DtBoundingVolumeTerrainSourcePager::pageOutNodes
virtual bool pageOutNodes(std::list< DtNodeId > &nodesToRemove)=0
This function must cause the page out of the nodeIds specified.
DtTerrainSourcePager
DtTerrainSourcePager is the base class for terrain pagers.
Definition:
terrainSourcePager.h:53
osg::ref_ptr< osg::Node >
terrainPagingGeometry.h
DtBoundingVolumeTerrainSourcePager::updatePageTracker
virtual void updatePageTracker(DtTerrainIntersectIDType intersectId=0)=0
DtPagedLodTerrainSourcePager::DtActivePageVisitor::myPagedInNodes
const NodePagingRecordMap & myPagedInNodes
Definition:
pagedLodTerrainSourcePager.h:85
DtTerrainIntersectIDType
unsigned long long DtTerrainIntersectIDType
Definition:
terrainInterfaceDefines.h:28
DtTerrainSourcePager::createTerrainSourceTracker
virtual DtTerrainSourceTracker * createTerrainSourceTracker(DtVantageTerrainEngine *)=0
Creates and returns a DtTerrainSourceTracker.
DtPagedLodTerrainSourcePager::myPagedInNodes
NodePagingRecordMap myPagedInNodes
Holds all the nodes which have been paged in.
Definition:
pagedLodTerrainSourcePager.h:93
DtBoundingVolumeTerrainSourcePager::DtBoundingVolumeActivePageVisitor
Visitor class used to find the active paged of a OSG scene graph.
Definition:
boundingVolumeTerrainSourcePager.h:45
DtPagedLodTerrainSourcePager::DtActivePageVisitor
Visitor class used to find the active paged of a OSG scene graph.
Definition:
pagedLodTerrainSourcePager.h:72
DtPagedLodTerrainSourcePager::mySurfaceCharacterMap
DtFilename mySurfaceCharacterMap
Definition:
pagedLodTerrainSourcePager.h:95
DtPagedLodTerrainSourcePager
A DtPagedLodTerrainSourcePager pages in data from a specific terrain patch.
Definition:
pagedLodTerrainSourcePager.h:22
DtPageInVisitor
OSG Visitor class which pages the highest level of detail of paged LOD nodes in.
Definition:
pageInVisitor.h:70
DtTerrainSourceTracker
Base class for Terrain Source trackers.
Definition:
terrainSourceTracker.h:40
DtBoundingVolumeTerrainSourcePager::pageInGeometry
virtual bool pageInGeometry(const DtTerrainPagingGeometryPtr geometry, DtTerrainIntersectIDType intersectId=0)=0
This function must page in all the geometry specified by the argument, and return true when successfu...
pageInVisitor.h
terrainPagerCommand.h
DtBoundingVolumeTerrainSourcePager
DtBoundingVolumeTerrainSourcePager is a derived terrainSourcePager that handles a source such as meta...
Definition:
boundingVolumeTerrainSourcePager.h:19
DT_DLL_vantageTerrainImplementation
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition:
vantageTerrainImplementationDefines.h:28
DtPagedLodTerrainSourcePager::myRootNode
osg::ref_ptr< osg::Node > myRootNode
The node on which this pager operates.
Definition:
pagedLodTerrainSourcePager.h:89
boundingVolumeTerrainSourcePager.h
DtVantageTerrainEngine
This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector.
Definition:
vantageTerrainEngine.h:93
DtPagedLodTerrainSourcePager::NodePagingRecordMap
std::map< std::string, DtPageInVisitor::NodePagingRecord > NodePagingRecordMap
Definition:
pagedLodTerrainSourcePager.h:26
DtPagedLodTerrainSourcePager::myMatrix
osg::Matrix myMatrix
Definition:
pagedLodTerrainSourcePager.h:90
Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (
www.mak.com
)