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;
61 virtual bool initialize();
65 virtual void initializeNormalized2DCamera();
66 virtual void initialize2DCamera(
int w,
int h );
67 virtual void initializeSceneCamera( );
69 void initializeViewCamera();
74 virtual void addOverlayDrawablesToCameras();
77 virtual void initializeStatsHandler();
84 virtual void initializeSignalConnections();
95 void setSensorName(
const std::string& sensorName );
98 virtual void setClearColor(
float r,
float g,
float b,
float a);
103 virtual void setWindow(
DtWindow* view);
106 virtual const DtWindow* window()
const;
109 virtual void setViewport(
int x,
int y,
int width,
int height);
112 virtual void getViewport(
int& x,
int& y,
int& width,
int& height)
const;
115 virtual void setCameraPosition(
double x,
double y,
double z);
118 virtual void setCameraOrientation(
double psi,
double theta,
double phi );
124 virtual void setCameraPositionAndOrientation(
double x,
double y,
125 double z,
double psi,
double theta,
double phi );
126 virtual void setCameraPositionAndOrientation( osg::Vec3d& pos,
130 virtual void getCameraPositionAndOrientation( osg::Vec3d& position,
131 osg::Quat& rotation )
const;
133 virtual void update();
136 virtual void connectToObserver();
139 virtual void setDynamicNearFar(
bool enable);
143 virtual void setNearFarRatio(
double ratio);
147 virtual void setProjectionMatrixAsPerspective(
double fovy,
148 double aspectRatio,
double zNear,
double zFar);
151 virtual void setProjectionMatrixAsFrustum (
double left,
double right,
152 double bottom,
double top,
double zNear,
double zFar);
155 virtual osgViewer::View& view();
164 virtual const DtCameraNode* postProcessingCamera()
const;
170 virtual void setPostProcessingEnabled(
bool enabled);
173 virtual void setPostProcessCamera(
DtCameraNode* camera);
178 virtual void setPostProcessTexture(
osg::Texture* texture);
182 virtual void setProjectionResizePolicy(
187 virtual void updateProjection();
190 double &left,
double zNear,
double &right,
double &top,
double &bottom );
193 virtual void connectChannelToScene();
196 virtual bool processMouseEvent(
const DtMouseEvent& ev);
199 virtual bool processKeyboardEvent(
const DtKeyEvent & ev);
205 void getWorldToWindowMatrix( osg::Matrix& worldToWindowMatrix )
const;
208 virtual void moveMouseToScreenLocation(
float screenX,
float screenY);
213 virtual void projectToScreen(
double dbX,
double dbY,
double dbZ,
214 double& screenX,
double& screenY,
double& screenZ );
217 virtual void projectToWorld(
double screenX,
double screenY,
218 double& dbX,
double& dbY,
double& dbZ );
221 virtual const std::string& name();
234 void makeObserverToCameraMatrix( osg::Vec3d& orient,
235 osg::Matrixd& offsetObserverToCamera );
236 void makeObserverToCameraMatrix( osg::Quat& qObserverToWorld,
237 osg::Matrixd& offsetObserverToCamera );
240 virtual void calculateNearFar(
double& zNear,
double& zFar);
243 virtual void projectFor3D();
246 virtual void projectFor2D();
251 virtual void stopUsingModelSet(
int modelSet );
256 virtual void startUsingModelSet(
int modelSet );
259 virtual void stopUsingSensor(
DtSensor* sensor );
262 virtual void startUsingSensor(
DtSensor* sensor );
265 virtual void slot_sensorRemoved(
DtSensor* sensor );
268 virtual void slot_visualizerRootAdded(
int modelSet,
int visualType );
276 int setting,
bool value );
289 virtual void slot_windowConfigurationModified(
const std::string& deName,
293 virtual void slot_onCoordinateSystemChanged();
302 void stopUsingModelSetWork(
int modelSet );
305 void startUsingModelSetWork(
int modelSet );