20 #include <matrix/vlVector.h>
22 #include <osg/ref_ptr>
23 #include <osg/observer_ptr>
25 #include <osg/Matrixd>
26 #include <osg/Matrixf>
36 class DtTritonDrawable;
38 class DtCoordinateConverter;
79 virtual void setMaxReflectionWindSpeed(
double metersPerSecond);
82 virtual void setPlanarReflectionsEnabled(
bool enabled);
84 virtual bool planarReflectionsEnabled(
void)
const;
88 virtual void enableReflections(
bool enabled);
91 virtual void removeAllPlanarReflections();
97 virtual DtPlanarReflection* getOrCreatePlanarReflection(osg::RenderInfo& renderInfo,
bool& isNewReflection);
106 virtual void updateReflectionBlend(
const osg::Vec3& currentPosition);
109 virtual void updateReflectionMatrix(
const osg::Vec3& currentPosition);
112 virtual void updateReflectionBlendAndMatrix(
const osg::Vec3& currentPosition);
115 virtual const osg::Matrixd& reflectionMatrix(
void)
const;
118 virtual const osg::Plane& reflectionPlane(
void)
const;
121 virtual float reflectionBlend(
void)
const;
124 virtual bool planarReflectionsFlag(
void)
const;
127 virtual int numPlanarReflectionCameras(
void)
const;
138 virtual void flushInvalidCameras(
void);
149 const osg::Matrix & localToWorld,
const osg::Vec3& currentPos);
152 virtual void slot_coordinateSystemChanged();
Declares the DtPlanarReflection class.
friend DtTritonPlanarReflectionManagerCreator
friend class so only the creator can create this class
Definition: DtTritonPlanarReflectionManager.h:60
The DtOsgRenderer is the component responsible for rendering 3D images onto the screen via OpenSceneG...
Definition: DtOsgRenderer.h:87
bool myReflectionsActive
Definition: DtTritonPlanarReflectionManager.h:168
DtCoordinateConverter is the base class for 'local (cig) to geocentric' converters.
Definition: DtCoordinateConverter.h:25
DtDe & myDe
Definition: DtTritonPlanarReflectionManager.h:157
Definition: featureContext.h:37
DtVirtualBaseClassCreator< DtTritonPlanarReflectionManager, DtTritonDrawable * > DtTritonPlanarReflectionManagerCreator
creator
Definition: DtTritonPlanarReflectionManager.h:41
bool myPlanarReflectionsFlag
Definition: DtTritonPlanarReflectionManager.h:166
osg::Plane myReflectionPlane
Definition: DtTritonPlanarReflectionManager.h:173
bool myPlanarReflectionsEnabled
Definition: DtTritonPlanarReflectionManager.h:164
osg::Matrixd myReflectionMatrix
Definition: DtTritonPlanarReflectionManager.h:174
A camera for rendering Triton's planar reflection texture.
Definition: DtPlanarReflection.h:27
osg::ref_ptr< DtPlanarReflection > PlanarReflectionRef
Definition: DtTritonPlanarReflectionManager.h:55
float myMaxWindForReflections
Definition: DtTritonPlanarReflectionManager.h:177
DtSignalConnectionManager myConnections
Definition: DtTritonPlanarReflectionManager.h:179
float myMaxReflectionBlend
Definition: DtTritonPlanarReflectionManager.h:171
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:170
#define DT_DLL_VRVTRITON
Definition: vrvTriton.h:19
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtVector myLastGeocentricReference
Definition: DtTritonPlanarReflectionManager.h:175
DtTritonDrawable * myTritonDrawable
Definition: DtTritonPlanarReflectionManager.h:156
Base class to provide boost signal/slot management.
MapCameraObserverPtrsToPlanarReflection myPlanarReflectionCameraMap
Definition: DtTritonPlanarReflectionManager.h:159
const char * creatorTypeName< DtTritonPlanarReflectionManager >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtTritonPlanarReflectionManager.h:48
osg::observer_ptr< osg::Camera > CameraObserverPtr
Definition: DtTritonPlanarReflectionManager.h:54
class for managing the planar reflections used by triton drawable.
Definition: DtTritonPlanarReflectionManager.h:51
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:70
An OSG Drawable representing Triton's infinite ocean. /ingroup vrvTriton.
Definition: DtTritonDrawable.h:62
std::map< CameraObserverPtr, PlanarReflectionRef > MapCameraObserverPtrsToPlanarReflection
Definition: DtTritonPlanarReflectionManager.h:56