18 #include <matrix/vlVector.h>
20 #include <osg/ref_ptr>
21 #include <osg/observer_ptr>
23 #include <osg/Matrixd>
24 #include <osg/Matrixf>
34 class DtTritonDrawable;
65 virtual void setMaxReflectionWindSpeed(
double metersPerSecond);
68 virtual void setPlanarReflectionsEnabled(
bool enabled);
70 virtual bool planarReflectionsEnabled(
void)
const;
74 virtual void enableReflections(
bool enabled);
77 virtual void removeAllPlanarReflections();
91 virtual void updateReflectionBlend(
const osg::Vec3& currentPosition);
94 virtual void updateReflectionMatrix(
const osg::Vec3& currentPosition);
97 virtual void updateReflectionBlendAndMatrix(
const osg::Vec3& currentPosition);
100 virtual const osg::Matrixd& reflectionMatrix(
void)
const;
103 virtual const osg::Plane& reflectionPlane(
void)
const;
106 virtual float reflectionBlend(
void)
const;
109 virtual bool planarReflectionsFlag(
void)
const;
112 virtual int numPlanarReflectionCameras(
void)
const;
123 virtual void flushInvalidCameras(
void);
134 const osg::Matrix & localToWorld,
const osg::Vec3& currentPos);
184 static void registerInstance(
DtDe& de,
Declares the DtPlanarReflection class.
The DtOsgRenderer is the component responsible for rendering 3D images onto the screen via OpenSceneG...
Definition: DtOsgRenderer.h:125
Virtual base class.
Definition: DtVirtualBaseClass.h:22
bool myReflectionsActive
Definition: DtTritonPlanarReflectionManager.h:150
DtDe & myDe
Definition: DtTritonPlanarReflectionManager.h:139
Definition: featureContext.h:37
bool myPlanarReflectionsFlag
Definition: DtTritonPlanarReflectionManager.h:148
osg::Plane myReflectionPlane
Definition: DtTritonPlanarReflectionManager.h:155
bool myPlanarReflectionsEnabled
Definition: DtTritonPlanarReflectionManager.h:146
osg::Matrixd myReflectionMatrix
Definition: DtTritonPlanarReflectionManager.h:156
A camera for rendering Triton's planar reflection texture.
Definition: DtPlanarReflection.h:27
osg::ref_ptr< DtPlanarReflection > PlanarReflectionRef
Definition: DtTritonPlanarReflectionManager.h:42
float myMaxWindForReflections
Definition: DtTritonPlanarReflectionManager.h:159
float myMaxReflectionBlend
Definition: DtTritonPlanarReflectionManager.h:153
Contains DLL export macros.
Contains makVrv::DtVirtualBaseClass class.
DtTritonPlanarReflectionManager creator.
Definition: DtTritonPlanarReflectionManager.h:164
float myReflectionBlend
Definition: DtTritonPlanarReflectionManager.h:152
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
DtVector myLastGeocentricReference
Definition: DtTritonPlanarReflectionManager.h:157
DtTritonDrawable * myTritonDrawable
Definition: DtTritonPlanarReflectionManager.h:138
MapCameraObserverPtrsToPlanarReflection myPlanarReflectionCameraMap
Definition: DtTritonPlanarReflectionManager.h:141
osg::observer_ptr< osg::Camera > CameraObserverPtr
Definition: DtTritonPlanarReflectionManager.h:41
class for managing the planar reflections used by triton drawable.
Definition: DtTritonPlanarReflectionManager.h:38
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
An OSG Drawable representing Triton's infinite ocean.
Definition: DtTritonDrawable.h:61
std::map< CameraObserverPtr, PlanarReflectionRef > MapCameraObserverPtrsToPlanarReflection
Definition: DtTritonPlanarReflectionManager.h:43