18 #include <osg/ref_ptr>
19 #include <osgViewer/View>
21 #include <boost/signals.hpp>
37 class DtChannelSpecificGroup;
39 class DtOsgChannelCreator;
40 class DtChannelManager;
41 class DtWindowConfiguration;
44 class DtOsgObserverObject;
45 class DtOsgCullVisitorParameters;
70 virtual bool initialize();
74 virtual void initializeNormalized2DCamera();
75 virtual void initialize2DCamera(
int w,
int h );
76 virtual void initializeSceneCamera( );
77 virtual void initializeRenderTexture(
int format,
int sourceFormat = GL_RGBA,
int sourceType = GL_UNSIGNED_BYTE);
78 virtual void initializeRTTCamera( );
80 void clearRttCamera();
82 virtual void recreateRTTCamera( );
87 void setShadowState(
bool enable);
90 virtual void addOverlayDrawablesToCameras();
93 virtual void initializeStatsHandler();
100 virtual void initializeSignalConnections();
111 void setSensorName(
const std::string& sensorName );
114 virtual void setClearColor(
float r,
float g,
float b,
float a);
119 virtual void setWindow(
DtWindow* view);
122 virtual const DtWindow* window()
const;
125 virtual void setViewport(
int x,
int y,
int width,
int height);
128 virtual void getViewport(
int& x,
int& y,
int& width,
int& height)
const;
131 virtual void setCameraPosition(
double x,
double y,
double z);
134 virtual void setCameraOrientation(
double psi,
double theta,
double phi );
140 virtual void setCameraPositionAndOrientation(
double x,
double y,
141 double z,
double psi,
double theta,
double phi );
142 virtual void setCameraPositionAndOrientation( osg::Vec3d& pos,
146 virtual void getCameraPositionAndOrientation( osg::Vec3d& position,
147 osg::Quat& rotation )
const;
149 virtual void update();
152 virtual void connectToObserver();
156 virtual void setProjectionMatrixAsPerspective(
double fovy,
157 double aspectRatio,
double zNear,
double zFar);
160 virtual void setProjectionMatrixAsFrustum (
double left,
double right,
161 double bottom,
double top,
double zNear,
double zFar);
164 virtual osgViewer::View& view();
181 virtual void setRenderToTexture(
bool enabled,
int format = GL_RGBA,
int sourceFormat = GL_RGBA,
int sourceType = GL_UNSIGNED_BYTE);
185 virtual osg::ref_ptr<osg::Texture2D> getRenderTexture();
188 virtual osg::ref_ptr<osg::Texture2D> getDepthTexture()
const;
191 int shadowQuality()
const;
195 virtual void setProjectionResizePolicy(
200 virtual void updateProjection();
203 double &left,
double zNear,
double &right,
double &top,
double &bottom );
206 virtual void connectChannelToScene();
209 virtual bool processMouseEvent(
const DtMouseEvent& ev);
212 virtual bool processKeyboardEvent(
const DtKeyEvent & ev);
218 void getWorldToWindowMatrix( osg::Matrix& worldToWindowMatrix )
const;
221 virtual void moveMouseToScreenLocation(
float screenX,
float screenY);
226 virtual void projectToScreen(
double dbX,
double dbY,
double dbZ,
227 double& screenX,
double& screenY,
double& screenZ );
230 virtual void projectToWorld(
double screenX,
double screenY,
231 double& dbX,
double& dbY,
double& dbZ );
234 virtual const std::string& name();
247 virtual void addPostProcessEffect(std::string postProcessorEffect);
252 virtual void removePostProcessEffect(std::string postProcessorEffect);
260 virtual void toggleOnScreenStats();
263 virtual void printStats();
265 virtual void setEnablePostProcessors(
bool enable);
267 virtual bool getEnablePostProcessors();
270 void makeObserverToCameraMatrix( osg::Vec3d& orient,
271 osg::Matrixd& offsetObserverToCamera );
272 void makeObserverToCameraMatrix( osg::Quat& qObserverToWorld,
273 osg::Matrixd& offsetObserverToCamera );
276 virtual void calculateNearFar(
double& zNear,
double& zFar);
281 virtual bool useAttachedForNearClip(
double alt );
284 virtual double calculateNearClip(
double alt,
double zFar );
287 virtual double calculateFarClip(
double alt );
290 virtual void projectFor3D();
293 virtual void projectFor2D();
298 virtual void stopUsingModelSet(
int modelSet );
303 virtual void startUsingModelSet(
int modelSet );
306 virtual void stopUsingSensor(
DtSensor* sensor );
309 virtual void startUsingSensor(
DtSensor* sensor );
312 virtual void slot_sensorRemoved(
DtSensor* sensor );
315 virtual void slot_visualizerRootAdded(
int modelSet,
int visualType );
323 int setting,
bool value );
336 virtual void slot_windowConfigurationModified(
const std::string& deName,
340 virtual void slot_onCoordinateSystemChanged();
351 void stopUsingModelSetWork(
int modelSet );
354 void startUsingModelSetWork(
int modelSet );
357 void initializeRenderTextureColor(
int format,
int sourceFormat,
int sourceType);
360 void initializeRenderTextureDepth();
362 void enableLighting(osg::ref_ptr<osg::Camera> camera,
bool enable);