21 #include <osg/Drawable>
22 #include <osg/Texture2D>
28 class DtHeightMapManager;
29 class DtTerrainPatchObject;
30 class DtCoordinateSystem;
55 virtual bool run(osg::Object*
object, osg::Object* data);
84 virtual void operator () (osg::RenderInfo& renderInfo)
const;
119 virtual void setupHeightMap(
void );
122 virtual void setHeightMapResolution(
float resolution);
125 virtual float heightMapResolution()
const;
129 virtual void setHeightMapTextureSize(
int pixels);
132 virtual int heightMapTextureSize()
const;
136 virtual bool updateHeightCamera(
unsigned int frameNum,
137 const osg::Vec3d& currentPosition,
bool isGeocentric );
140 virtual void setHeightCameraAttachment(
bool enabled);
143 virtual bool heightCameraAttached()
const;
146 virtual const osg::Matrix& heightMapMatrix()
const;
155 virtual void slot_wireframeModeChanged();
158 virtual void slot_coordinateSystemChanged();
161 virtual osg::Camera* heightCamera();
164 virtual void syncHeightMapToGpu(
const osg::State* state,
const osg::Camera* camera);
167 virtual void postDrawFBOCallback(osg::RenderInfo& renderInfo);
171 virtual void cleanup();
174 virtual void updateHeightMapMatrix();
177 virtual osg::Matrixd oglRevDepthOrtho(
double left,
double right,
178 double bottom,
double top,
179 double zNear,
double zFar);
184 virtual void computeBasis(
const osg::Vec3d& inGeocentricPos, osg::Matrixd& rotOut);
244 static void registerInstance(
DtDe& de,
281 boost::signalslib::signal<void(DtHeightMapManager& manager, const osg::State* state, const osg::Camera* camera)>
signal_syncHeightMapToGpu;
The signaler object for the DtHeightMapManager class.
Definition: DtHeightMapManager.h:256
bool myHeightCameraAttached
Definition: DtHeightMapManager.h:192
Contains makVrv::DtDrawFBOCallback class.
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::Matrixd myHeightReferenceBasis
Definition: DtHeightMapManager.h:189
DtDe & myDe
Definition: DtHeightMapManager.h:207
boost::signalslib::signal< void(DtHeightMapManager &manager, const osg::State *state, const osg::Camera *camera)> signal_syncHeightMapToGpu
emitted when height map should be synced to gpu
Definition: DtHeightMapManager.h:281
float myResolution
Definition: DtHeightMapManager.h:195
boost::signalslib::signal< void(DtHeightMapManager &manager)> signal_heightMapChanged
Emitted when the height map changes.
Definition: DtHeightMapManager.h:275
double myLastUpdateTime
Definition: DtHeightMapManager.h:197
bool myForceUpdate
Definition: DtHeightMapManager.h:194
A DtTerrainPatchObject contains the methods for loading a file as a terrain. When loading a file as a...
Definition: DtTerrainPatchObject.h:37
osg::View * myOsgView
Definition: DtHeightMapManager.h:212
bool myHeightMapCameraUpdateReady
Definition: DtHeightMapManager.h:193
Contains makVrv::DtVirtualBaseClass class.
osg::Vec3d myLastHeightReferencePos
Definition: DtHeightMapManager.h:188
osg::ref_ptr< osg::Camera > myHeightCamera
Definition: DtHeightMapManager.h:205
bool myShadingRateIsSupported
Definition: DtHeightMapManager.h:199
osg::ref_ptr< osg::Texture2D > myDepthTexture
Definition: DtHeightMapManager.h:202
unsigned int myHeightUpdateFrame
Definition: DtHeightMapManager.h:191
osg::View * myView
Definition: DtHeightMapManager.h:59
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtHeightMapManager creator.
Definition: DtHeightMapManager.h:224
int myHeightMapDimension
Definition: DtHeightMapManager.h:204
DtDe & myDe
Definition: DtHeightMapManager.h:88
DtHeightMapManager * myHeightMapManager
Definition: DtHeightMapManager.h:87
bool mySavedPerfOverlayOn
Definition: DtHeightMapManager.h:196
osg::ref_ptr< osg::Texture2D > myHeightMap
Definition: DtHeightMapManager.h:201
boost::signalslib::signal< void()> signal_cameraChanged
Emitted when an associated camera has changed.
Definition: DtHeightMapManager.h:278
osg::Matrix myHeightMapMatrix
Definition: DtHeightMapManager.h:203
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:41
Definition: DtDrawFBOCallback.h:62
Base class to provide boost signal/slot management.
DtSignalConnectionManager myConnections
Definition: DtHeightMapManager.h:209
A class to manage automatic periodic updating of a height map generated from the database dynamically...
Definition: DtHeightMapManager.h:95
Contains DLL export macros.
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
Cull callback used to prevent the height map camera from rendering anything for any views that are no...
Definition: DtHeightMapManager.h:35
callback which is connected to the post draw callback for the height map camera to setup the height m...
Definition: DtHeightMapManager.h:64
osg::Vec3d myLastHeightUpdatePos
Definition: DtHeightMapManager.h:190