16 #include <osgViewer/View>
21 class DatabaseRequestHandler;
27 class DtChannelSpecificGroup;
29 class DtOsgChannelCreator;
30 class DtChannelManager;
31 class DtWindowConfiguration;
34 class DtOsgObserverObject;
35 class DtOsgCullVisitorParameters;
45 virtual void childPagedIn(
const osg::DatabaseRequestHandler*, osg::PagedLOD* page, osg::Node* child)
const;
48 virtual void childAboutToPageOut(
const osg::DatabaseRequestHandler*, osg::PagedLOD* page, osg::Node* child)
const;
50 virtual osg::DatabaseRequestHandlerCallback*
clone()
const;
82 virtual bool initialize();
86 virtual void initializeNormalized2DCamera();
87 virtual void initialize2DCamera(
int w,
int h );
88 virtual void initializeSceneCamera( );
89 virtual void initializeRenderTexture( );
90 virtual void initializeRTTCamera( );
92 void clearRttCamera();
94 virtual void recreateRTTCamera( );
99 void setShadowState(
bool enable);
102 virtual void addOverlayDrawablesToCameras();
109 virtual void initializeSignalConnections();
121 void setSensorName(
const std::string& sensorName );
124 virtual void setClearColor(
float r,
float g,
float b,
float a);
129 virtual void setWindow(
DtWindow* view);
132 virtual const DtWindow* window()
const;
135 virtual void setViewport(
int x,
int y,
int width,
int height);
140 virtual void clearFrameBufferIfChanged();
143 virtual void getViewport(
int& x,
int& y,
int& width,
int& height)
const;
146 virtual void setCameraPosition(
double x,
double y,
double z);
149 virtual void setCameraOrientation(
double psi,
double theta,
double phi );
155 virtual void setCameraPositionAndOrientation(
double x,
double y,
156 double z,
double psi,
double theta,
double phi );
157 virtual void setCameraPositionAndOrientation( osg::Vec3d& pos,
161 virtual void getCameraPositionAndOrientation( osg::Vec3d& position,
162 osg::Quat& rotation )
const;
164 virtual void update();
167 virtual void connectToObserver();
171 virtual void setProjectionMatrixAsPerspective(
double fovy,
172 double aspectRatio,
double zNear,
double zFar);
175 virtual void setProjectionMatrixAsFrustum (
double left,
double right,
176 double bottom,
double top,
double zNear,
double zFar);
179 virtual void setProjectionMatrix(
const osg::Matrix& matrix);
182 virtual osgViewer::View& view();
199 virtual void setRenderToTexture(
bool enabled);
204 virtual void setRenderToTextureFormat(
int format,
int sourceFormat,
int sourceType);
209 virtual osg::ref_ptr<osg::Texture2D> getRenderTexture();
210 virtual osg::ref_ptr<osg::Texture2D> getOcculsionTexture();
213 virtual osg::ref_ptr<osg::Texture2D> getDepthTexture()
const;
216 int shadowQuality()
const;
221 virtual std::vector<const osg::Camera*> getShadowableCameras()
const;
225 virtual void setProjectionResizePolicy(
230 virtual void updateProjection();
233 double &left,
double zNear,
double &right,
double &top,
double &bottom );
236 virtual void connectChannelToScene();
239 virtual bool processMouseEvent(
const DtMouseEvent& ev);
242 virtual bool processKeyboardEvent(
const DtKeyEvent & ev);
248 void getWorldToWindowMatrix( osg::Matrix& worldToWindowMatrix )
const;
251 virtual void moveMouseToScreenLocation(
float screenX,
float screenY);
256 virtual void projectToScreen(
double dbX,
double dbY,
double dbZ,
257 double& screenX,
double& screenY,
double& screenZ );
260 virtual void projectToWorld(
double screenX,
double screenY,
261 double& dbX,
double& dbY,
double& dbZ );
264 virtual const std::string& name();
277 virtual void addPostProcessEffect(
const std::string& postProcessorEffect);
282 virtual void removePostProcessEffect(
const std::string& postProcessorEffect);
289 virtual void setEnablePostProcessors(
bool enable);
291 virtual bool getEnablePostProcessors();
294 virtual bool useOldChannelOffsetCalcuation()
const;
295 virtual void setUseOldChannelOffsetCalcuation(
bool enable );
299 virtual bool forceHdrLuminanceOverride();
300 virtual void setForceHdrLuminanceOverride(
bool force);
309 virtual void clearStateGraph(
void);
314 virtual void setEnableHdrPassthrough(
bool flag);
315 virtual bool enableHdrPassthrough();
318 virtual void screenCapture();
321 virtual void setOcclusionTextureEnabled(
bool enabled);
324 virtual void initOcclusionTexture();
332 virtual void makeObserverToCameraMatrix( osg::Vec3d& orient,
333 osg::Matrixd& offsetObserverToCamera, osg::Matrixd& observerToCamera );
334 virtual void makeObserverToCameraMatrix( osg::Quat& qObserverToWorld,
335 osg::Matrixd& offsetObserverToCamera, osg::Matrixd& observerToCamera );
339 virtual void calculateNearFar(
double& zNear,
double& zFar);
344 virtual bool useAttachedForNearClip(
double alt );
347 virtual double calculateNearClip(
double alt,
double zFar );
350 virtual double calculateFarClip(
double alt );
353 virtual void projectFor3D();
356 virtual void projectFor2D();
361 virtual void stopUsingModelSet(
int modelSet );
366 virtual void startUsingModelSet(
int modelSet );
369 virtual void stopUsingSensor(
DtSensor* sensor );
372 virtual void startUsingSensor(
DtSensor* sensor );
375 virtual void slot_sensorRemoved(
DtSensor* sensor );
378 virtual void slot_visualizerRootAdded(
int modelSet,
int visualType );
386 int setting,
bool value );
393 virtual void slot_windowConfigurationModified(
const std::string& deName,
397 virtual void slot_onCoordinateSystemChanged();
401 void stopUsingModelSetWork(
int modelSet );
404 void startUsingModelSetWork(
int modelSet );
407 void initializeRenderTextureColor();
410 void initializeRenderTextureDepth();
412 void enableLighting(osg::ref_ptr<osg::Camera> camera,
bool enable);