VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTritonGroup.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 <vrvTriton/vrvTriton.h>
13 
15 
17 
18 #include <osg/Camera>
19 #include <osg/Group>
20 
21 namespace osg
22 {
23  class NodeVisitor;
24 }
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtOsgCullVisitorParameters;
30 
31 
34  class DT_DLL_VRVTRITON DtTritonGroup : public osg::Group
35  {
36  public:
38  DtTritonGroup(DtDe& de, double displayRange);
39 
40  virtual ~DtTritonGroup();
41 
43  DtTritonGroup() = delete;
45  DtTritonGroup(const DtTritonGroup& rhs) = delete;
47  DtTritonGroup& operator=(const DtTritonGroup& rhs) = delete;
48  public:
49 
51  virtual void traverse(osg::NodeVisitor& nv) override;
52 
54  virtual void setElevationRange(double newRange);
55 
57  virtual DtTritonGroupTcsUserData* getOrCreateUserData(const osg::Camera* osgCamera, bool& created);
58 
60  virtual DtTritonGroupTcsUserData* findUserData(const osg::Camera* osgCamera);
61 
63  virtual const DtTritonGroupTcsUserData* findUserData(const osg::Camera* osgCamera) const;
64 
66  virtual const DtThreadCameraStreamDataManagerBase* tcsDataManager(void) const;
67 
69  virtual DtThreadCameraStreamDataManagerBase* tcsDataManager(void);
70 
72  virtual const Triton::Camera* closestCameraTo(const DtVector& position) const;
73 
75  virtual const Triton::Camera* tritonCamera(const osg::Camera* osgCamera) const;
76 
78  virtual bool oceanVisible() const;
79  protected:
80  virtual void doDynamicWaterVisibility( double altitude, const DtOsgCullVisitorParameters* cullParams
81  , DtTritonGroupTcsUserData* userData) const;
82 
83  virtual void resetFogState(osg::ref_ptr<osg::Camera> camera);
84 
85  virtual void setReflectionState(const osg::Camera* osgCamera, bool enabled);
86 
87  protected:
90 
93  };
94 }
Manager for DtThreadCameraStreamData Holds them as cameras come in. Deletes them as cameras go out (v...
Definition: DtThreadCameraStreamDataManager.h:86
LOD node that switches by observer elevation ranges.
Definition: DtTritonGroup.h:34
DtDe & myDe
Definition: DtTritonGroup.h:89
Contains the DtThreadCameraStreamDataManager class declaration.
DtTritonGroupTcsUserDataCreator & myUserDataCreator
Definition: DtTritonGroup.h:92
double myDisplayRange
Definition: DtTritonGroup.h:88
Contains makVrv::DtTritonGroupTcsUserData class.
Contains DLL export macros.
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
DtThreadCameraStreamDataManager & myTcsDataManager
Definition: DtTritonGroup.h:91
This represents per camera, context (tcs) specific data for Triton.
Definition: DtTritonGroupTcsUserData.h:39
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
The osg cull vistor parameters class provides additional culling and intersector parameters for choos...
Definition: DtOsgCullVisitorParameters.h:43
Manager for DtKeyedData Used to create/manage DtKeyedData Each entry of DtKeyedData is associated wit...
Definition: DtKeyedDataManagerTemplate.h:48
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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)