VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)