VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgCullVisitor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 #include <boost/signal.hpp>
15 
16 namespace makVrv
17 {
23  class DT_DLL_VRVOSG DtOsgCullVisitor : public osgUtil::CullVisitor
24  {
25  public:
28 
31 
33  void initializeViewDependentSettings();
34 
36  bool orthoCulling() const;
37 
40  bool coordinateSystemChanged() const;
41 
44  virtual float getDistanceToScreenEdge(const osg::Vec3& vec) const;
45 
47  virtual float altitude2D() const;
48 
50  const DtOsgCullVisitorParameters* visitorParameters() const;
51 
53  void setInReflectionPass(bool bReflecting) {myIsInReflectionPass=bReflecting;}
55  bool inReflectionPass(void) const {return myIsInReflectionPass;}
56 
60  const DtDe& de(void) const;
61 
65  DtDe& de(void);
66  protected:
67 
69  virtual void apply(osg::Transform& node);
70 
72  virtual void apply(osg::Node& node);
73 
75  virtual void apply(osg::Group& group);
76 
78  virtual void apply(osg::LightSource& lightSource);
79 
81  virtual void apply(osg::Geode& geode);
82 
83  virtual void apply(osg::Camera& node);
84 
85  virtual void apply(osg::Billboard& node);
86 
87  virtual void apply(osg::PagedLOD& node);
88 
91  virtual float getDistanceToViewPoint(const osg::Vec3& vec, bool useLOD) const;
92 
95  virtual bool isCulled( osg::Node& node, double scaleFactor ) ;
96 
98  DtOsgCullVisitorParameters* getVisitorParameters() const;
99 
101  virtual osgUtil::CullVisitor* clone() const;
102 
103  virtual void reset();
104 
105  virtual ~DtOsgCullVisitor();
106 
107  void slot_StateSetChanged(const osg::StateSet* pStateSet);
108 
109  protected:
111  double myAltitude2D;
112  double myAltitude3D;
116 
117  boost::BOOST_SIGNALS_NAMESPACE::connection m_signalConnection;
118 
121  };
122 }
123 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)