VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pageInVisitor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 
16 
17 #include <osg/Vec3>
18 #include <osg/NodeVisitor>
19 #include <geometry/chord.h>
20 #include <list>
21 #include <geometry/sphere.h>
22 
23 class btIDebugDraw;
24 
28 {
29 public:
30  using osg::NodeVisitor::apply;
31 
33  explicit DtMaintainMatrixVisitor(const osg::Matrix&);
34 
35  virtual void apply(osg::Transform& node);
36 
37 protected:
42  virtual osg::BoundingSphere worldRefNodeBounds(osg::Node& node);
43 
44 protected:
45  osg::Matrix myMatrix;
46 };
47 
53 {
54 public:
56 
58  explicit DtPageInVisitor(const osg::Matrix&);
59  virtual void apply(osg::LOD& node);
60  virtual void apply(osg::PagedLOD& node);
61 
63  {
64  osg::ref_ptr<osg::Node> node;
65  osg::Matrix matrix;
66  std::string filename;
67 
70  osg::Node* node, const osg::Matrix& matrix, const std::string& file)
71  : node(node), matrix(matrix), filename(file) { }
72  };
73 
74  typedef std::vector<NodePagingRecord> NodePagingRecords;
75 
76  const NodePagingRecords& pagedInNodes() const { return myPagedInNodes; }
77 
78 protected:
82  virtual bool requiresPageIn(const osg::BoundingSphere&);
83 
85 };
86 
90 {
91 public:
93  DtGeometryPageInVisitor(DtTerrainPagingGeometryPtr geometry, const osg::Matrix&);
94 
95 protected:
96  virtual bool requiresPageIn(const osg::BoundingSphere&);
97 
99 };
100 
103 {
104 public:
106 
108  virtual void apply(osg::Node& node);
109  virtual void apply(osg::Group& node);
110  virtual void apply(osg::Geode& node);
111  virtual void apply(osg::LOD& node);
112  virtual void apply(osg::PagedLOD& node);
113  //virtual void apply(osg::CoordinateSystemNode& node);
114 
115 protected:
116  virtual std::string indent();
117  virtual std::string printBoundingInfo(osg::Node& node);
118 
121 protected:
122 };
123 
126 {
127 public:
129 
130  DtDrawBoundingSpheresVisitor(btIDebugDraw* debugDrawer, const DtChord& chord);
131 
132  virtual void apply(osg::Group& node);
133 
134 protected:
136  DtChord myTestChord;
137 };
138 
140 
143 {
144 public:
145  using osg::NodeVisitor::apply;
146 
148  virtual ~DtTerrainIsPagingVisitor();
149 
151  virtual void apply(osg::PagedLOD& node);
152 
154  virtual const bool& encounteredPagedLod() const;
155 
156 protected:
157 
160 };

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)