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(
int format,
int sourceFormat = GL_RGBA,
int sourceType = GL_UNSIGNED_BYTE);
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);
137 virtual void getViewport(
int& x,
int& y,
int& width,
int& height)
const;
140 virtual void setCameraPosition(
double x,
double y,
double z);
143 virtual void setCameraOrientation(
double psi,
double theta,
double phi );
149 virtual void setCameraPositionAndOrientation(
double x,
double y,
150 double z,
double psi,
double theta,
double phi );
151 virtual void setCameraPositionAndOrientation( osg::Vec3d& pos,
155 virtual void getCameraPositionAndOrientation( osg::Vec3d& position,
156 osg::Quat& rotation )
const;
158 virtual void update();
161 virtual void connectToObserver();
165 virtual void setProjectionMatrixAsPerspective(
double fovy,
166 double aspectRatio,
double zNear,
double zFar);
169 virtual void setProjectionMatrixAsFrustum (
double left,
double right,
170 double bottom,
double top,
double zNear,
double zFar);
173 virtual void setProjectionMatrix(
const osg::Matrix& matrix);
176 virtual osgViewer::View& view();
193 virtual void setRenderToTexture(
bool enabled);
198 virtual void setRenderToTextureFormat(
int format,
int sourceFormat,
int sourceType);
203 virtual osg::ref_ptr<osg::Texture2D> getRenderTexture();
206 virtual osg::ref_ptr<osg::Texture2D> getDepthTexture()
const;
209 int shadowQuality()
const;
214 virtual std::vector<const osg::Camera*> getShadowableCameras()
const;
218 virtual void setProjectionResizePolicy(
223 virtual void updateProjection();
226 double &left,
double zNear,
double &right,
double &top,
double &bottom );
229 virtual void connectChannelToScene();
232 virtual bool processMouseEvent(
const DtMouseEvent& ev);
235 virtual bool processKeyboardEvent(
const DtKeyEvent & ev);
241 void getWorldToWindowMatrix( osg::Matrix& worldToWindowMatrix )
const;
244 virtual void moveMouseToScreenLocation(
float screenX,
float screenY);
249 virtual void projectToScreen(
double dbX,
double dbY,
double dbZ,
250 double& screenX,
double& screenY,
double& screenZ );
253 virtual void projectToWorld(
double screenX,
double screenY,
254 double& dbX,
double& dbY,
double& dbZ );
257 virtual const std::string& name();
270 virtual void addPostProcessEffect(
const std::string& postProcessorEffect);
275 virtual void removePostProcessEffect(
const std::string& postProcessorEffect);
282 virtual void setEnablePostProcessors(
bool enable);
284 virtual bool getEnablePostProcessors();
287 virtual bool useOldChannelOffsetCalcuation()
const;
288 virtual void setUseOldChannelOffsetCalcuation(
bool enable );
292 virtual bool forceHdrLuminanceOverride();
301 virtual void clearStateGraph(
void);
306 virtual void setEnableHdrPassthrough(
bool flag);
307 virtual bool enableHdrPassthrough();
314 virtual void makeObserverToCameraMatrix( osg::Vec3d& orient,
315 osg::Matrixd& offsetObserverToCamera, osg::Matrixd& observerToCamera );
316 virtual void makeObserverToCameraMatrix( osg::Quat& qObserverToWorld,
317 osg::Matrixd& offsetObserverToCamera, osg::Matrixd& observerToCamera );
321 virtual void calculateNearFar(
double& zNear,
double& zFar);
326 virtual bool useAttachedForNearClip(
double alt );
329 virtual double calculateNearClip(
double alt,
double zFar );
332 virtual double calculateFarClip(
double alt );
335 virtual void projectFor3D();
338 virtual void projectFor2D();
343 virtual void stopUsingModelSet(
int modelSet );
348 virtual void startUsingModelSet(
int modelSet );
351 virtual void stopUsingSensor(
DtSensor* sensor );
354 virtual void startUsingSensor(
DtSensor* sensor );
357 virtual void slot_sensorRemoved(
DtSensor* sensor );
360 virtual void slot_visualizerRootAdded(
int modelSet,
int visualType );
368 int setting,
bool value );
381 virtual void slot_windowConfigurationModified(
const std::string& deName,
385 virtual void slot_onCoordinateSystemChanged();
395 void stopUsingModelSetWork(
int modelSet );
398 void startUsingModelSetWork(
int modelSet );
401 void initializeRenderTextureColor(
int format,
int sourceFormat,
int sourceType);
404 void initializeRenderTextureDepth();
406 void enableLighting(osg::ref_ptr<osg::Camera> camera,
bool enable);