18 #include <osg/ref_ptr>
19 #include <osgViewer/View>
21 #include <boost/signals.hpp>
30 class DtChannelSpecificGroup;
32 class DtOsgChannelCreator;
33 class DtChannelManager;
34 class DtWindowConfiguration;
37 class DtOsgObserverObject;
38 class DtOsgCullVisitorParameters;
63 virtual bool initialize();
67 virtual void initializeNormalized2DCamera();
68 virtual void initialize2DCamera(
int w,
int h );
69 virtual void initializeSceneCamera( );
70 virtual void initializeRenderTexture(
int format,
int sourceFormat = GL_RGBA,
int sourceType = GL_UNSIGNED_BYTE);
71 virtual void initializeRTTCamera( );
73 void clearRttCamera();
75 virtual void recreateRTTCamera( );
80 void setShadowState(
bool enable);
83 virtual void addOverlayDrawablesToCameras();
86 virtual void initializeStatsHandler();
93 virtual void initializeSignalConnections();
104 void setSensorName(
const std::string& sensorName );
107 virtual void setClearColor(
float r,
float g,
float b,
float a);
112 virtual void setWindow(
DtWindow* view);
115 virtual const DtWindow* window()
const;
118 virtual void setViewport(
int x,
int y,
int width,
int height);
121 virtual void getViewport(
int& x,
int& y,
int& width,
int& height)
const;
124 virtual void setCameraPosition(
double x,
double y,
double z);
127 virtual void setCameraOrientation(
double psi,
double theta,
double phi );
133 virtual void setCameraPositionAndOrientation(
double x,
double y,
134 double z,
double psi,
double theta,
double phi );
135 virtual void setCameraPositionAndOrientation( osg::Vec3d& pos,
139 virtual void getCameraPositionAndOrientation( osg::Vec3d& position,
140 osg::Quat& rotation )
const;
142 virtual void update();
145 virtual void connectToObserver();
149 virtual void setProjectionMatrixAsPerspective(
double fovy,
150 double aspectRatio,
double zNear,
double zFar);
153 virtual void setProjectionMatrixAsFrustum (
double left,
double right,
154 double bottom,
double top,
double zNear,
double zFar);
157 virtual osgViewer::View& view();
174 virtual void setRenderToTexture(
bool enabled,
int format = GL_RGBA,
int sourceFormat = GL_RGBA,
int sourceType = GL_UNSIGNED_BYTE);
178 virtual osg::ref_ptr<osg::Texture2D> getRenderTexture();
181 virtual osg::ref_ptr<osg::Texture2D> getDepthTexture()
const;
184 int shadowQuality()
const;
188 virtual void setProjectionResizePolicy(
193 virtual void updateProjection();
196 double &left,
double zNear,
double &right,
double &top,
double &bottom );
199 virtual void connectChannelToScene();
202 virtual bool processMouseEvent(
const DtMouseEvent& ev);
205 virtual bool processKeyboardEvent(
const DtKeyEvent & ev);
211 void getWorldToWindowMatrix( osg::Matrix& worldToWindowMatrix )
const;
214 virtual void moveMouseToScreenLocation(
float screenX,
float screenY);
219 virtual void projectToScreen(
double dbX,
double dbY,
double dbZ,
220 double& screenX,
double& screenY,
double& screenZ );
223 virtual void projectToWorld(
double screenX,
double screenY,
224 double& dbX,
double& dbY,
double& dbZ );
227 virtual const std::string& name();
240 virtual void addPostProcessEffect(std::string postProcessorEffect);
245 virtual void removePostProcessEffect(std::string postProcessorEffect);
253 void makeObserverToCameraMatrix( osg::Vec3d& orient,
254 osg::Matrixd& offsetObserverToCamera );
255 void makeObserverToCameraMatrix( osg::Quat& qObserverToWorld,
256 osg::Matrixd& offsetObserverToCamera );
259 virtual void calculateNearFar(
double& zNear,
double& zFar);
264 virtual bool useAttachedForNearClip(
double alt );
267 virtual double calculateNearClip(
double alt,
double zFar );
270 virtual double calculateFarClip(
double alt );
273 virtual void projectFor3D();
276 virtual void projectFor2D();
281 virtual void stopUsingModelSet(
int modelSet );
286 virtual void startUsingModelSet(
int modelSet );
289 virtual void stopUsingSensor(
DtSensor* sensor );
292 virtual void startUsingSensor(
DtSensor* sensor );
295 virtual void slot_sensorRemoved(
DtSensor* sensor );
298 virtual void slot_visualizerRootAdded(
int modelSet,
int visualType );
306 int setting,
bool value );
319 virtual void slot_windowConfigurationModified(
const std::string& deName,
323 virtual void slot_onCoordinateSystemChanged();
332 void stopUsingModelSetWork(
int modelSet );
335 void startUsingModelSetWork(
int modelSet );
338 void initializeRenderTextureColor(
int format,
int sourceFormat,
int sourceType);
341 void initializeRenderTextureDepth();
343 void enableLighting(osg::ref_ptr<osg::Camera> camera,
bool enable);