16 #include <osgViewer/View>
26 class DtChannelSpecificGroup;
28 class DtOsgChannelCreator;
29 class DtChannelManager;
30 class DtWindowConfiguration;
33 class DtOsgObserverObject;
34 class DtOsgCullVisitorParameters;
44 virtual void childPagedIn(
const osg::NodeVisitor::DatabaseRequestHandler*, osg::PagedLOD* page, osg::Node* child)
const;
47 virtual void childAboutToPageOut(
const osg::NodeVisitor::DatabaseRequestHandler*, osg::PagedLOD* page, osg::Node* child)
const;
49 virtual osg::DatabaseRequestHandlerCallback*
clone()
const;
81 virtual bool initialize();
85 virtual void initializeNormalized2DCamera();
86 virtual void initialize2DCamera(
int w,
int h );
87 virtual void initializeSceneCamera( );
88 virtual void initializeRenderTexture( );
89 virtual void initializeRTTCamera( );
91 void clearRttCamera();
93 virtual void recreateRTTCamera( );
98 void setShadowState(
bool enable);
101 virtual void addOverlayDrawablesToCameras();
108 virtual void initializeSignalConnections();
120 void setSensorName(
const std::string& sensorName );
123 virtual void setClearColor(
float r,
float g,
float b,
float a);
128 virtual void setWindow(
DtWindow* view);
131 virtual const DtWindow* window()
const;
134 virtual void setViewport(
int x,
int y,
int width,
int height);
139 virtual void clearFrameBufferIfChanged();
142 virtual void getViewport(
int& x,
int& y,
int& width,
int& height)
const;
145 virtual void setCameraPosition(
double x,
double y,
double z);
148 virtual void setCameraOrientation(
double psi,
double theta,
double phi );
154 virtual void setCameraPositionAndOrientation(
double x,
double y,
155 double z,
double psi,
double theta,
double phi );
156 virtual void setCameraPositionAndOrientation( osg::Vec3d& pos,
160 virtual void getCameraPositionAndOrientation( osg::Vec3d& position,
161 osg::Quat& rotation )
const;
163 virtual void update();
166 virtual void connectToObserver();
170 virtual void setProjectionMatrixAsPerspective(
double fovy,
171 double aspectRatio,
double zNear,
double zFar);
174 virtual void setProjectionMatrixAsFrustum (
double left,
double right,
175 double bottom,
double top,
double zNear,
double zFar);
178 virtual void setProjectionMatrix(
const osg::Matrix& matrix);
181 virtual osgViewer::View& view();
198 virtual void setRenderToTexture(
bool enabled);
203 virtual void setRenderToTextureFormat(
int format,
int sourceFormat,
int sourceType);
208 virtual osg::ref_ptr<osg::Texture2D> getRenderTexture();
209 virtual osg::ref_ptr<osg::Texture2D> getOcculsionTexture();
212 virtual osg::ref_ptr<osg::Texture2D> getDepthTexture()
const;
215 int shadowQuality()
const;
220 virtual std::vector<const osg::Camera*> getShadowableCameras()
const;
224 virtual void setProjectionResizePolicy(
229 virtual void updateProjection();
232 double &left,
double zNear,
double &right,
double &top,
double &bottom );
235 virtual void connectChannelToScene();
238 virtual bool processMouseEvent(
const DtMouseEvent& ev);
241 virtual bool processKeyboardEvent(
const DtKeyEvent & ev);
247 void getWorldToWindowMatrix( osg::Matrix& worldToWindowMatrix )
const;
250 virtual void moveMouseToScreenLocation(
float screenX,
float screenY);
255 virtual void projectToScreen(
double dbX,
double dbY,
double dbZ,
256 double& screenX,
double& screenY,
double& screenZ );
259 virtual void projectToWorld(
double screenX,
double screenY,
260 double& dbX,
double& dbY,
double& dbZ );
263 virtual const std::string& name();
276 virtual void addPostProcessEffect(
const std::string& postProcessorEffect);
281 virtual void removePostProcessEffect(
const std::string& postProcessorEffect);
288 virtual void setEnablePostProcessors(
bool enable);
290 virtual bool getEnablePostProcessors();
293 virtual bool useOldChannelOffsetCalcuation()
const;
294 virtual void setUseOldChannelOffsetCalcuation(
bool enable );
298 virtual bool forceHdrLuminanceOverride();
299 virtual void setForceHdrLuminanceOverride(
bool force);
308 virtual void clearStateGraph(
void);
313 virtual void setEnableHdrPassthrough(
bool flag);
314 virtual bool enableHdrPassthrough();
317 virtual void screenCapture();
320 virtual void setOcclusionTextureEnabled(
bool enabled);
323 virtual void initOcclusionTexture();
331 virtual void makeObserverToCameraMatrix( osg::Vec3d& orient,
332 osg::Matrixd& offsetObserverToCamera, osg::Matrixd& observerToCamera );
333 virtual void makeObserverToCameraMatrix( osg::Quat& qObserverToWorld,
334 osg::Matrixd& offsetObserverToCamera, osg::Matrixd& observerToCamera );
338 virtual void calculateNearFar(
double& zNear,
double& zFar);
343 virtual bool useAttachedForNearClip(
double alt );
346 virtual double calculateNearClip(
double alt,
double zFar );
349 virtual double calculateFarClip(
double alt );
352 virtual void projectFor3D();
355 virtual void projectFor2D();
360 virtual void stopUsingModelSet(
int modelSet );
365 virtual void startUsingModelSet(
int modelSet );
368 virtual void stopUsingSensor(
DtSensor* sensor );
371 virtual void startUsingSensor(
DtSensor* sensor );
374 virtual void slot_sensorRemoved(
DtSensor* sensor );
377 virtual void slot_visualizerRootAdded(
int modelSet,
int visualType );
385 int setting,
bool value );
392 virtual void slot_windowConfigurationModified(
const std::string& deName,
396 virtual void slot_onCoordinateSystemChanged();
400 void stopUsingModelSetWork(
int modelSet );
403 void startUsingModelSetWork(
int modelSet );
406 void initializeRenderTextureColor();
409 void initializeRenderTextureDepth();
411 void enableLighting(osg::ref_ptr<osg::Camera> camera,
bool enable);