VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
16 
20  : public DtTerrainSourcePager
21 {
22 public:
23 
25 
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:
46  {
47  public:
49 
50  const DtNodeBoundingInfoList& pagedOutBoundingVolumes() const;
51  const DtNodeBoundingInfoMap& pagedInBoundingVolumes() const;
52  bool noValidAreas() const;
53 
54  protected:
56  {
57  public:
58  ScopedBound(DtBoundingVolumeActivePageVisitor& visitor, osg::Node&);
59  ScopedBound(DtBoundingVolumeActivePageVisitor& visitor, osg::BoundingSphere&);
60  ~ScopedBound();
61 
62  private:
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 
80  std::stack<osg::BoundingSphere> myBoundingNodeStack;
82  };
83 
84 };
DtBoost::shared_ptr< DtNodeBoundingInfo > DtNodeBoundingInfoPtr
Definition: boundingNodeInfo.h:85
DtBoost::shared_ptr< DtTerrainPagingGeometry > DtTerrainPagingGeometryPtr
Definition: terrainPagingGeometry.h:41
boost::unordered_map< DtNodeId, DtNodeBoundingInfoPtr > DtNodeBoundingInfoMap
Definition: boundingNodeInfo.h:97
DtTerrainIntersectIDType myIntersectId
Definition: boundingVolumeTerrainSourcePager.h:81
bool myNoValidAreas
Definition: boundingVolumeTerrainSourcePager.h:79
DtTerrainSourcePager is the base class for terrain pagers.
Definition: terrainSourcePager.h:53
std::stack< osg::BoundingSphere > myBoundingNodeStack
Definition: boundingVolumeTerrainSourcePager.h:80
unsigned long long DtTerrainIntersectIDType
Definition: terrainInterfaceDefines.h:28
Visitor which maintains myMatrix as the current offset matrix though all transform nodes...
Definition: pageInVisitor.h:45
std::list< DtNodeBoundingInfoPtr > DtNodeBoundingInfoList
Definition: boundingNodeInfo.h:95
Visitor class used to find the active paged of a OSG scene graph.
Definition: boundingVolumeTerrainSourcePager.h:45
DtBoundingVolumeTerrainSourcePager is a derived terrainSourcePager that handles a source such as meta...
Definition: boundingVolumeTerrainSourcePager.h:19
Definition: boundingNodeInfo.h:17
virtual void updatePageTracker(DtTerrainIntersectIDType intersectId=0)=0
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector.
Definition: vantageTerrainEngine.h:93
DtNodeBoundingInfoMap myPagedInBoundingMap
Definition: boundingVolumeTerrainSourcePager.h:78
DtNodeBoundingInfoList myPagedOutBoundingList
Definition: boundingVolumeTerrainSourcePager.h:77
DtBoundingVolumeActivePageVisitor * myVisitor
Definition: boundingVolumeTerrainSourcePager.h:63

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)