VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pagedLodTerrainSourcePager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
12 
17 
18 #include <set>
19 
24 {
25 public:
26 
28  DtVantageTerrainEngine* terrainEngine,
29  osg::Group* rootNode,
30  const DtFilename& surfaceCharacterMap);
31 
32  //DtPagedLodTerrainSourcePager(
37 
39 
42 
43  virtual bool pageInGeometry(
44  const DtTerrainPagingGeometryPtr geometry,
45  DtTerrainIntersectIDType intersectId = 0);
46 
47  virtual bool pageOutNodes(std::list<DtNodeId>& nodesToRemove);
48 
50  virtual void updatePageTracker(DtTerrainIntersectIDType intersectId = 0);
51 
52  virtual const NodePagingRecordMap& pagedInNodes() const;
53 
56  static DtTerrainSourcePager* terrainChooserFunction(
57  osg::Node& node,
58  DtVantageTerrainEngine* terrainEngine,
59  const DtFilename& surfaceCharacterMap);
60 
61 protected:
63  osg::Node* terrainRoot();
64 
65  virtual bool pageInData(
66  DtPageInVisitor& visitor,
67  DtTerrainIntersectIDType intersectId = 0);
68 
69 protected:
72  {
73  public:
75 
76  explicit DtActivePageVisitor(
77  const NodePagingRecordMap&, DtTerrainIntersectIDType intersectId = 0);
78 
79  virtual void apply(osg::Group& node);
80  virtual void apply(osg::LOD& node);
81  virtual void apply(osg::PagedLOD& node);
82 
83  private:
85  };
86 
89  osg::Matrix myMatrix;
90 
93 
95 
96 };
97 
DtBoost::shared_ptr< DtTerrainPagingGeometry > DtTerrainPagingGeometryPtr
Definition: terrainPagingGeometry.h:46
virtual bool pageOutNodes(std::list< DtNodeId > &nodesToRemove)=0
This function must cause the page out of the nodeIds specified. It should return true when successful...
std::map< std::string, NodePagingRecord > NodePagingRecordMap
Definition: vantageTerrainImplementationUtil.h:101
DtTerrainSourcePager is the base class for terrain pagers. There will be one terrainSourcePager per t...
Definition: terrainSourcePager.h:58
virtual void updatePageTracker(DtTerrainIntersectIDType intersectId=0)=0
const NodePagingRecordMap & myPagedInNodes
Definition: pagedLodTerrainSourcePager.h:84
virtual DtTerrainSourceTracker * createTerrainSourceTracker(DtVantageTerrainEngine *)=0
Creates and returns a DtTerrainSourceTracker.
NodePagingRecordMap myPagedInNodes
Holds all the nodes which have been paged in.
Definition: pagedLodTerrainSourcePager.h:92
Visitor class used to find the active paged of a OSG scene graph.
Definition: pagedLodTerrainSourcePager.h:71
DtFilename mySurfaceCharacterMap
Definition: pagedLodTerrainSourcePager.h:94
A DtPagedLodTerrainSourcePager pages in data from a specific terrain patch.
Definition: pagedLodTerrainSourcePager.h:22
Visitor class used to find the active paged of a OSG scene graph.
Definition: boundingVolumeTerrainSourcePager.h:48
OSG Visitor class which pages the highest level of detail of paged LOD nodes in. This is a base class...
Definition: pageInVisitor.h:71
Base class for Terrain Source trackers. Determines if the necessary data To perform an intersection i...
Definition: terrainSourceTracker.h:75
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...
DtBoundingVolumeTerrainSourcePager is a derived terrainSourcePager that handles a source such as meta...
Definition: boundingVolumeTerrainSourcePager.h:21
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
osg::ref_ptr< osg::Node > myRootNode
The node on which this pager operates.
Definition: pagedLodTerrainSourcePager.h:88
virtual void apply(osg::Transform &node)
This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector. This is the terrain engine that powers the DtVantageTerrainImplementation. The DtVantageTerrainEngine runs the DtDe it its own thread, and processes commands thought the command queue.
Definition: vantageTerrainEngine.h:99
osg::Matrix myMatrix
Definition: pagedLodTerrainSourcePager.h:89

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)