VR-Forces 4.10 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
boundingVolumeTerrainSourcePager.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2011 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
9
#pragma once
10
11
#include <
vantageTerrainImplementation/terrainPagerCommand.h
>
12
#include <
vantageTerrainImplementation/terrainSourcePager.h
>
13
#include <
vantageTerrainImplementation/pageInVisitor.h
>
14
#include <
vantageTerrainImplementation/boundingVolumeTerrainSourceTracker.h
>
15
#include <
terrainInterface/terrainPagingGeometry.h
>
16
19
class
DT_DLL_vantageTerrainImplementation
DtBoundingVolumeTerrainSourcePager
20
:
public
DtTerrainSourcePager
21
{
22
public
:
23
24
DtBoundingVolumeTerrainSourcePager
(
DtVantageTerrainEngine
* terrainEngine);
25
26
virtual
~
DtBoundingVolumeTerrainSourcePager
();
27
32
virtual
bool
pageInGeometry(
33
const
DtTerrainPagingGeometryPtr
geometry,
34
DtTerrainIntersectIDType
intersectId = 0) = 0;
35
39
virtual
bool
pageOutNodes(std::list<DtNodeId>& nodesToRemove) = 0;
40
41
virtual
void
updatePageTracker
(
DtTerrainIntersectIDType
intersectId = 0) = 0;
42
43
protected
:
45
class
DtBoundingVolumeActivePageVisitor
:
public
DtMaintainMatrixVisitor
46
{
47
public
:
48
DtBoundingVolumeActivePageVisitor
(
DtTerrainIntersectIDType
intersectId = 0);
49
50
const
DtNodeBoundingInfoList
& pagedOutBoundingVolumes()
const
;
51
const
DtNodeBoundingInfoMap
& pagedInBoundingVolumes()
const
;
52
bool
noValidAreas()
const
;
53
54
protected
:
55
class
ScopedBound
56
{
57
public
:
58
ScopedBound
(
DtBoundingVolumeActivePageVisitor
& visitor, osg::Node&);
59
ScopedBound
(
DtBoundingVolumeActivePageVisitor
& visitor,
const
osg::BoundingSphere&);
60
~
ScopedBound
();
61
62
private
:
63
DtBoundingVolumeActivePageVisitor
*
myVisitor
;
64
};
65
66
friend
class
ScopedBound
;
67
68
void
pushBound(
const
osg::BoundingSphere&);
69
void
popBound();
70
71
bool
addToPagedOutVolumesList(
DtNodeBoundingInfoPtr
pagedOutArea);
72
bool
addToPagedOutVolumesList(
DtNodeBoundingInfo
* pagedOutArea);
73
74
void
addToPagedInVolumesList(osg::Node*,
DtNodeBoundingInfoPtr
pagedOutArea);
75
void
addToPagedInVolumesList(osg::Node*,
DtNodeBoundingInfo
* pagedOutArea);
76
77
DtNodeBoundingInfoList
myPagedOutBoundingList
;
78
DtNodeBoundingInfoMap
myPagedInBoundingMap
;
79
bool
myNoValidAreas
;
80
std::stack<osg::BoundingSphere>
myBoundingNodeStack
;
81
DtTerrainIntersectIDType
myIntersectId
;
82
};
83
84
};
DtNodeBoundingInfoPtr
DtBoost::shared_ptr< DtNodeBoundingInfo > DtNodeBoundingInfoPtr
Definition:
boundingNodeInfo.h:85
DtTerrainPagingGeometryPtr
DtBoost::shared_ptr< DtTerrainPagingGeometry > DtTerrainPagingGeometryPtr
Definition:
terrainPagingGeometry.h:46
DtNodeBoundingInfoMap
boost::unordered_map< DtNodeId, DtNodeBoundingInfoPtr > DtNodeBoundingInfoMap
Definition:
boundingNodeInfo.h:97
DtBoundingVolumeTerrainSourcePager::DtBoundingVolumeActivePageVisitor::myIntersectId
DtTerrainIntersectIDType myIntersectId
Definition:
boundingVolumeTerrainSourcePager.h:81
DtBoundingVolumeTerrainSourcePager::DtBoundingVolumeActivePageVisitor::myNoValidAreas
bool myNoValidAreas
Definition:
boundingVolumeTerrainSourcePager.h:79
DtTerrainSourcePager
DtTerrainSourcePager is the base class for terrain pagers.
Definition:
terrainSourcePager.h:58
DtBoundingVolumeTerrainSourcePager::DtBoundingVolumeActivePageVisitor::ScopedBound
Definition:
boundingVolumeTerrainSourcePager.h:55
terrainSourcePager.h
terrainPagingGeometry.h
DtBoundingVolumeTerrainSourcePager::DtBoundingVolumeActivePageVisitor::myBoundingNodeStack
std::stack< osg::BoundingSphere > myBoundingNodeStack
Definition:
boundingVolumeTerrainSourcePager.h:80
DtTerrainIntersectIDType
unsigned long long DtTerrainIntersectIDType
Definition:
terrainInterfaceDefines.h:28
DtMaintainMatrixVisitor
Visitor which maintains myMatrix as the current offset matrix though all transform nodes...
Definition:
pageInVisitor.h:45
boundingVolumeTerrainSourceTracker.h
DtNodeBoundingInfoList
std::list< DtNodeBoundingInfoPtr > DtNodeBoundingInfoList
Definition:
boundingNodeInfo.h:95
DtBoundingVolumeTerrainSourcePager::DtBoundingVolumeActivePageVisitor
Visitor class used to find the active paged of a OSG scene graph.
Definition:
boundingVolumeTerrainSourcePager.h:45
pageInVisitor.h
terrainPagerCommand.h
DtBoundingVolumeTerrainSourcePager
DtBoundingVolumeTerrainSourcePager is a derived terrainSourcePager that handles a source such as meta...
Definition:
boundingVolumeTerrainSourcePager.h:19
DtNodeBoundingInfo
Definition:
boundingNodeInfo.h:17
DtTerrainSourcePager::updatePageTracker
virtual void updatePageTracker(DtTerrainIntersectIDType intersectId=0)=0
DT_DLL_vantageTerrainImplementation
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition:
vantageTerrainImplementationDefines.h:28
DtVantageTerrainEngine
This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector.
Definition:
vantageTerrainEngine.h:99
DtBoundingVolumeTerrainSourcePager::DtBoundingVolumeActivePageVisitor::myPagedInBoundingMap
DtNodeBoundingInfoMap myPagedInBoundingMap
Definition:
boundingVolumeTerrainSourcePager.h:78
DtBoundingVolumeTerrainSourcePager::DtBoundingVolumeActivePageVisitor::myPagedOutBoundingList
DtNodeBoundingInfoList myPagedOutBoundingList
Definition:
boundingVolumeTerrainSourcePager.h:77
DtBoundingVolumeTerrainSourcePager::DtBoundingVolumeActivePageVisitor::ScopedBound::myVisitor
DtBoundingVolumeActivePageVisitor * myVisitor
Definition:
boundingVolumeTerrainSourcePager.h:63
Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (
www.mak.com
)