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;
76 virtual void setMaxReflectionWindSpeed(
double metersPerSecond);
79 virtual void setPlanarReflectionsEnabled(
bool enabled);
81 virtual bool planarReflectionsEnabled(
void)
const;
85 virtual void enableReflections(
bool enabled);
88 virtual void removeAllPlanarReflections();
102 virtual void updateReflectionBlend(
const osg::Vec3& currentPosition);
105 virtual void updateReflectionMatrix(
const osg::Vec3& currentPosition);
108 virtual void updateReflectionBlendAndMatrix(
const osg::Vec3& currentPosition);
111 virtual const osg::Matrixd& reflectionMatrix(
void)
const;
114 virtual const osg::Plane& reflectionPlane(
void)
const;
117 virtual float reflectionBlend(
void)
const;
120 virtual bool planarReflectionsFlag(
void)
const;
123 virtual int numPlanarReflectionCameras(
void)
const;
134 virtual void flushInvalidCameras(
void);
145 const osg::Matrix & localToWorld,
const osg::Vec3& currentPos);
Declares the DtPlanarReflection class.
friend DtTritonPlanarReflectionManagerCreator
friend class so only the creator can create this class
Definition: DtTritonPlanarReflectionManager.h:57
The DtOsgRenderer is the component responsible for rendering 3D images onto the screen via OpenSceneG...
Definition: DtOsgRenderer.h:90
bool myReflectionsActive
Definition: DtTritonPlanarReflectionManager.h:161
DtDe & myDe
Definition: DtTritonPlanarReflectionManager.h:150
Definition: featureContext.h:37
DtVirtualBaseClassCreator< DtTritonPlanarReflectionManager, DtTritonDrawable * > DtTritonPlanarReflectionManagerCreator
creator
Definition: DtTritonPlanarReflectionManager.h:38
bool myPlanarReflectionsFlag
Definition: DtTritonPlanarReflectionManager.h:159
osg::Plane myReflectionPlane
Definition: DtTritonPlanarReflectionManager.h:166
bool myPlanarReflectionsEnabled
Definition: DtTritonPlanarReflectionManager.h:157
osg::Matrixd myReflectionMatrix
Definition: DtTritonPlanarReflectionManager.h:167
A camera for rendering Triton's planar reflection texture.
Definition: DtPlanarReflection.h:27
osg::ref_ptr< DtPlanarReflection > PlanarReflectionRef
Definition: DtTritonPlanarReflectionManager.h:52
float myMaxWindForReflections
Definition: DtTritonPlanarReflectionManager.h:170
float myMaxReflectionBlend
Definition: DtTritonPlanarReflectionManager.h:164
Contains DLL export macros.
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
float myReflectionBlend
Definition: DtTritonPlanarReflectionManager.h:163
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
DtVector myLastGeocentricReference
Definition: DtTritonPlanarReflectionManager.h:168
DtTritonDrawable * myTritonDrawable
Definition: DtTritonPlanarReflectionManager.h:149
MapCameraObserverPtrsToPlanarReflection myPlanarReflectionCameraMap
Definition: DtTritonPlanarReflectionManager.h:152
const char * creatorTypeName< DtTritonPlanarReflectionManager >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtTritonPlanarReflectionManager.h:45
osg::observer_ptr< osg::Camera > CameraObserverPtr
Definition: DtTritonPlanarReflectionManager.h:51
class for managing the planar reflections used by triton drawable.
Definition: DtTritonPlanarReflectionManager.h:48
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:62
std::map< CameraObserverPtr, PlanarReflectionRef > MapCameraObserverPtrsToPlanarReflection
Definition: DtTritonPlanarReflectionManager.h:53