![]() |
VR-Forces Developer's Guide
|
A class to manage automatic periodic updating of a height map generated from the database dynamically.

Public Member Functions | |
| virtual | ~DtHeightMapManager () |
| virtual void | setupHeightMap (void) |
| virtual float | heightMapResolution () const |
| virtual void | updateHeightCamera (unsigned int frameNum, const osg::Vec3d ¤tPosition, osg::State &state) |
| virtual void | enableHeightMapCamera (bool enable) |
| virtual bool | heightCameraEnabled () const |
| virtual const osg::Matrix & | heightMapMatrix () const |
| virtual const osg::ref_ptr < osg::Texture2D > | heightMapTexture () const |
| virtual osg::Camera * | heightCamera () |
| virtual void | postDrawFBOCallback (osg::RenderInfo &renderInfo) |
| virtual bool | heightMapChanged (void) const |
| virtual const osg::View * | osgView () const |
| virtual void | notifyOfReleasedObjects () |
Public Member Functions inherited from makVrv::DtKeyedDataUserData | |
| DtKeyedDataUserData (DtDe &de, const std::string &name) | |
| virtual | ~DtKeyedDataUserData () |
Protected Member Functions | |
| DtHeightMapManager (DtDe &de, const std::string &name, osg::View *&view) | |
| virtual void | clearHeightmap () |
| virtual void | updateHeightMapMatrix () |
| virtual osg::Matrixd | oglRevDepthOrtho (double left, double right, double bottom, double top, double zNear, double zFar) |
| virtual void | computeBasis (const osg::Vec3d &inGeocentricPos, osg::Matrixd &rotOut) |
| virtual void | computeHeightCameraTransform (double cameraHeight, const osg::Vec3d &axisX, const osg::Vec3d &axisZ) |
| virtual void | computeCameraHeightAndEarthRadii (const osg::Vec3d &updatePosition, double &outCameraHeight, osg::Vec3d &outEarthRadii, double &outErrorAdjustment) const |
| virtual void | updateShaderUniforms (const osg::Vec3d &earthRadii, const double errorAdjustment) |
| virtual void | slot_oceanHeightMapTextureSizeChanged (int pixels) |
| virtual void | slot_oceanHeightMapResolutionChanged (float resolution) |
| virtual void | slot_terrainDataChanged (DtTerrainPatchObject &tpo) |
| virtual void | slot_wireframeModeChanged () |
| virtual void | slot_coordinateSystemChanged () |
| virtual int | heightMapTextureSize () const |
| virtual void | slot_preTick () |
| virtual void | validateHeightMapTexture (unsigned int osgContextID) |
Protected Attributes | |
| friend | DtHeightMapManagerCreator |
| osg::Vec3d | myLastHeightReferencePos |
| osg::Matrixd | myHeightReferenceBasis |
| osg::Vec3d | myLastHeightUpdatePos |
| unsigned int | myHeightUpdateFrame |
| bool | myForceUpdate |
| float | myResolution |
| bool | mySavedPerfOverlayOn |
| double | myLastUpdateTime |
| const bool | myShadingRateIsSupported |
| osg::ref_ptr< osg::Texture2D > | myHeightMap |
| osg::ref_ptr< osg::Texture2D > | myDepthTexture |
| osg::Matrix | myHeightMapMatrix |
| int | myHeightMapDimension |
| osg::ref_ptr< osg::Camera > | myHeightCamera |
| DtSignalConnectionManager | myConnections |
| osg::View * | myOsgView |
| DtCoordinateSystem * | myCoordinateSystem = nullptr |
| bool | myHeightMapChanged = false |
| const unsigned int | myHeightCameraNodeMask |
| bool | myValidateHeightMapTexture |
Protected Attributes inherited from makVrv::DtKeyedDataUserData | |
| DtDe & | myDe |
| const std::string | myName |
Private Member Functions | |
| DtHeightMapManager ()=delete | |
| DtHeightMapManager (const DtHeightMapManager &other)=delete | |
| DtHeightMapManager & | operator= (const DtHeightMapManager &other)=delete |
Additional Inherited Members | |
Static Protected Attributes inherited from makVrv::DtKeyedDataUserData | |
| static std::atomic< int > | theCount |
|
virtual |
destructor
|
protected |
constructor
|
privatedelete |
Default Constructor not implemented.
|
privatedelete |
Copy Constructor not implemented – Copy Not Allowed.
|
privatedelete |
Assignment Operator Not implemented – Assignment Not Allowed.
|
virtual |
Sets up the height map's resources.
|
virtual |
Gets the meters represented by one texel of the height map.
|
virtual |
Updates the height map as needed; call once per frame. Returns true if there is a new height map ready.
|
virtual |
enable/disable height map camera
|
virtual |
Returns the height camera attatched state.
|
virtual |
Retrieve the matrix to transform world coordinate to texture coords.
|
virtual |
Retrieve the height map itself.
|
virtual |
get the height camera being used by this height map manager
|
virtual |
Called from DtHeightMapPostDrawFBOCallback for post draw.
|
virtual |
Returns whether the height map changed this tick.
|
virtual |
view for the camera
|
virtual |
Called from DtHeightMapSuperManager when a channel has been destroyed and so objects have been released. This will internally flag the FBO as needing to re-initialize GL texture objects due to texture sharing.
|
protectedvirtual |
clean up this manager, called via destructor and slot_oceanHeightMapTextureSizeChanged
|
protectedvirtual |
Helper function for updating the height map matrix.
|
protectedvirtual |
get the reverse depth buffer setup for an orthographic camera. used when reverse z is turned on.
|
protectedvirtual |
Computes a round earth basis rotation matrix for the given geocentric position.
| inGeocentricPos | The geocentric reference position. |
| rotOut | The computed basis rotation transform. |
|
protectedvirtual |
Computes the height camera view and projection matrices based on the given camera height and the current heightmap settings.
| cameraHeight | The height of the camera above mean sea level. |
| axisX | The X axis of the topo plane. |
| axisZ | The Z axis of the topo plane. |
|
protectedvirtual |
Computes the camera height and earth radii based on the current coordinate system and given update position.
| updatePosition | The position to compute the camera height and earth radii for. |
| outCameraHeight | The computed camera height above mean sea level. |
| outEarthRadii | The computed earth radii at the given position. |
| outErrorAdjustment | The computed topo vs round earth error adjustment value for the given position. |
|
protectedvirtual |
Updates the shader uniforms for the height map camera.
| earthRadii | The earth radii at the current heightmap camera position. |
| errorAdjustment | The topo vs round earth error adjustment value for the current position. |
|
protectedvirtual |
Set the texture size length and width. The pixel value will be.
|
protectedvirtual |
slot for when ocean height map resolution changes
|
protectedvirtual |
Handles the terrain data changed signal.
|
protectedvirtual |
Handles the wireframe mode changed signal.
|
protectedvirtual |
slot for when the coordinate system changes
|
protectedvirtual |
Get the texture size length and width.
|
protectedvirtual |
clears the height map changed status
|
protectedvirtual |
Checks to see if the height map texture object is not valid. If it's not,.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
local clone of the system wide coordinate system. for thread safety.
|
protected |
|
protected |