VR-Forces Developer's Guide
 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) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 #include <vrvUtil/signalslib.h>
16 
17 namespace makVrv
18 {
19  class DtCoordinateSystem;
20  class DtSkyObjectManager;
21 
27  class DT_DLL_VRVOSG DtOsgCullVisitor : public osgUtil::CullVisitor
28  {
29  public:
32 
35  protected:
36 
38  virtual ~DtOsgCullVisitor();
39 
40  private:
42  DtOsgCullVisitor() = delete;
44  DtOsgCullVisitor& operator=(DtOsgCullVisitor& rhs) = delete;
45  public:
47  virtual void initializeViewDependentSettings();
48 
50  virtual bool orthoCulling() const;
51 
54  virtual bool coordinateSystemChanged() const;
55 
58  virtual float getDistanceToScreenEdge(const osg::Vec3& vec) const;
59 
61  virtual float altitude2D() const;
62 
64  virtual const DtOsgCullVisitorParameters* visitorParameters() const;
65 
67  virtual void apply(osg::Transform& node) override;
68 
70  virtual void apply(osg::Node& node) override;
71 
73  virtual void apply(osg::Group& group) override;
74 
76  virtual void apply(osg::LightSource& lightSource) override;
77 
79  virtual void apply(osg::Geode& geode) override;
80 
82  virtual void apply(osg::Camera& node) override;
83 
85  virtual void apply(osg::Billboard& node) override;
86 
89  virtual void apply(osg::PagedLOD& node) override;
90 
93  virtual bool isCulled(osg::Node& node, double scaleFactor);
94 
97  virtual float getDistanceToViewPoint(const osg::Vec3& vec, bool useLOD) const override;
98 
99  protected:
100 
102  virtual float calculateFocusPointDistance(const osg::Vec3& vec, bool useLOD, float magVal) const;
103 
105  virtual DtOsgCullVisitorParameters* getVisitorParameters() const;
106 
108  virtual osgUtil::CullVisitor* clone() const;
109 
111  virtual bool isOcean(const osg::Node* node) const;
112 
114  virtual void slot_StateSetChanged(const osg::StateSet* pStateSet);
115 
117  virtual void slot_coordinateSystemChanged();
118  protected:
120  double myAltitude2D;
121  double myAltitude3D;
124 
125  boost::signalslib::connection m_signalConnection;
126 
128 
130 
133  DtCoordinateSystem* myCoordinateSystem = nullptr;
135 
137 
138  };
139 }
140 
DtSkyObjectManager & mySkyObjectManager
Definition: DtOsgCullVisitor.h:136
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
bool myIsInTerrain
Definition: DtOsgCullVisitor.h:127
boost::signalslib::connection m_signalConnection
Definition: DtOsgCullVisitor.h:125
Definition: DtSkyObjectManager.h:30
DtOsgCullVisitor will inspect the camera to see which visual mode is active. If the visual mode is a ...
Definition: DtOsgCullVisitor.h:27
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
The osg cull vistor parameters class provides additional culling and intersector parameters for choos...
Definition: DtOsgCullVisitorParameters.h:43
DtOsgCullVisitorParameters * myInfoCopy
Definition: DtOsgCullVisitor.h:119
double myAltitude3D
Definition: DtOsgCullVisitor.h:121
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
DtSignalConnectionManager myConnections
Definition: DtOsgCullVisitor.h:129
Base class to provide boost signal/slot management.
double myAltitude2D
Definition: DtOsgCullVisitor.h:120
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
DtDe & myDe
Definition: DtOsgCullVisitor.h:123
double myMaximumMagnificationAngle
Definition: DtOsgCullVisitor.h:134
Contains the makVrv::DtOsgCullVisitorParameters class. Visual mode information is set into the camera...
osg::Matrix myWorldToWindowMatrix
Definition: DtOsgCullVisitor.h:122

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)