![]() |
VR-Forces 5.0.3 Developer's Guide
|
class for managing the planar reflections used by triton drawable.
Public Member Functions | |
| virtual | ~DtTritonPlanarReflectionManager () |
| virtual void | setMaxReflectionWindSpeed (double metersPerSecond) |
| virtual void | enableReflections (bool enabled) |
| virtual void | removeAllPlanarReflections () |
| virtual DtPlanarReflection * | getOrCreatePlanarReflection (osg::RenderInfo &renderInfo, bool &isNewReflection) |
| virtual DtPlanarReflection * | getPlanarReflection (osg::Camera *camera) |
| virtual void | updateReflectionBlend (const osg::Vec3 ¤tPosition) |
| virtual void | updateReflectionMatrix (const osg::Vec3 ¤tPosition) |
| virtual void | updateReflectionBlendAndMatrix (const osg::Vec3 ¤tPosition) |
| virtual const osg::Matrixd & | reflectionMatrix (void) const |
| virtual const osg::Plane & | reflectionPlane (void) const |
| virtual float | reflectionBlend (void) const |
| virtual bool | planarReflectionsFlag (void) const |
| virtual int | numPlanarReflectionCameras (void) const |
| virtual osg::ref_ptr< osg::Camera > | planarReflectionCamera (int index) const |
| virtual DtPlanarReflection * | planarReflection (int index) const |
| virtual void | flushInvalidCameras (void) |
| virtual void | setPlanarReflectionsEnabled (bool enabled) |
| virtual bool | planarReflectionsEnabled (void) const |
Public Attributes | |
| friend | DtTritonPlanarReflectionManagerCreator |
Protected Types | |
| typedef osg::observer_ptr < osg::Camera > | CameraObserverPtr |
| typedef osg::ref_ptr < DtPlanarReflection > | PlanarReflectionRef |
| typedef std::map < CameraObserverPtr, PlanarReflectionRef > | MapCameraObserverPtrsToPlanarReflection |
Protected Member Functions | |
| DtTritonPlanarReflectionManager (DtDe &de, DtTritonDrawable *tritonDrawable) | |
| virtual DtPlanarReflection * | setupPlanarReflections (osg::RenderInfo &renderInfo) |
| virtual osg::Node * | createReflectionWorldGraph (makVrv::DtOsgRenderer &osgRenderer, const osg::Matrix &localToWorld, const osg::Vec3 ¤tPos) |
| virtual void | slot_coordinateSystemChanged () |
Protected Attributes | |
| DtTritonDrawable * | myTritonDrawable |
| DtDe & | myDe |
| MapCameraObserverPtrsToPlanarReflection | myPlanarReflectionCameraMap |
| bool | myPlanarReflectionsEnabled |
| bool | myPlanarReflectionsFlag |
| bool | myReflectionsActive |
| float | myReflectionBlend |
| float | myMaxReflectionBlend |
| osg::Plane | myReflectionPlane |
| osg::Matrixd | myReflectionMatrix |
| DtVector | myLastGeocentricReference |
| float | myMaxWindForReflections |
| DtSignalConnectionManager | myConnections |
| DtCoordinateConverter * | myCoordinateConverter = nullptr |
Private Member Functions | |
| DtTritonPlanarReflectionManager ()=delete | |
| DtTritonPlanarReflectionManager (const DtTritonPlanarReflectionManager &other)=delete | |
| DtTritonPlanarReflectionManager & | operator= (const DtTritonPlanarReflectionManager &other)=delete |
|
protected |
|
protected |
|
protected |
|
virtual |
|
protected |
constructor
|
privatedelete |
Default Constructor not implemented.
|
privatedelete |
Copy Constructor not implemented – Copy Not Allowed.
|
privatedelete |
Assignment Operator Not implemented – Assignment Not Allowed.
|
virtual |
set the maximum wind speed (m/s) that the reflection will show up.
|
virtual |
get/set whether or not planar reflections are enabled, the setter removes/adds the planar reflection cameras from the scene
|
virtual |
get/set whether or not planar reflections are enabled, the setter removes/adds the planar reflection cameras from the scene
|
virtual |
slightly different from setPlanarReflectionsEnabled in that it just changes the enable flag for each of the planar reflections
|
virtual |
remove all the Planar reflection objects from the scnee and clear them from the manager
|
virtual |
get or create the planar reflection manager for the current camera based on the renderInfo returns raw pointer since the planar reflection reference pointer is held by the manager Should not return NULL
| isNewReflection | - (out) will become true for a newly created reflection otherwise false |
|
virtual |
accessor for the DtPlanarReflection object for a camera. SensorFX needs access to setup the shaders correctly. returns raw pointer since the planar reflection reference pointer is held by the manager Can return NULL if the camera passed in does not have a planar reflection associated with it.
|
virtual |
update the reflection blend for the planar reflections based on the wind at the current position
|
virtual |
update the reflection matrix for the planar reflections based on the current position
|
virtual |
update the reflection matrix and blend for the planar reflections based on the current position
|
virtual |
get the reflection matrix for the last rendered position
|
virtual |
get the reflection plane for the last rendered position
|
virtual |
get the reflection blend for the last rendered position
|
virtual |
flag to know if the planar reflections are in the scene graph
|
virtual |
get the number of planar reflection cameras currently managed by this manager
|
virtual |
get the planar reflection camera at index in the map (iterates that many steps into the map to find the osg camera returns ref pointer since the camera is only held by an observer pointer in the manager
|
virtual |
get the planar reflection camera at index in the map (iterates that many steps into the map to find the osg camera returns raw pointer since the planar reflection reference pointer is held by the manager
|
virtual |
check for any deleted cameras and remove the planar reflections associated with those cameras.
|
protectedvirtual |
create a new planar reflection based on the render info returns a raw pointer that may or may not have any referece pointers associated with it. the returned pointer should be put in a ref pointer in the caller function.
|
protectedvirtual |
setup the scene graph to render the reflected world.
|
protectedvirtual |
slot for when the coordinate system changes
| friend makVrv::DtTritonPlanarReflectionManager::DtTritonPlanarReflectionManagerCreator |
friend class so only the creator can create this class
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
local clone of the current system wide coordinate system converter. for thread safety.