VR-Forces 4.7 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();
60 
61  private:
63  };
64 
65  friend class ScopedBound;
66 
67  void pushBound(const osg::BoundingSphere&);
68  void popBound();
69 
70  bool addToPagedOutVolumesList(DtNodeBoundingInfoPtr pagedOutArea);
71  bool addToPagedOutVolumesList(DtNodeBoundingInfo* pagedOutArea);
72 
73  void addToPagedInVolumesList(osg::Node*, DtNodeBoundingInfoPtr pagedOutArea);
74  void addToPagedInVolumesList(osg::Node*, DtNodeBoundingInfo* pagedOutArea);
75 
79  std::stack<osg::BoundingSphere> myBoundingNodeStack;
81  };
82 
83 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)