16 #include <osgViewer/View>
21 class DatabaseRequestHandler;
27 class DtChannelSpecificGroup;
28 class DtIntersectorResult;
30 class DtOsgChannelCreator;
31 class DtChannelManager;
32 class DtWindowConfiguration;
35 class DtOsgObserverObject;
36 class DtOsgCullVisitorParameters;
37 class DtTerrainPageSignaler;
50 virtual void childLoaded(
const osg::DatabaseRequestHandler*,
const osg::Group* page, osg::Node* child,
const std::string& fileName, osg::Node*& returnedNode)
const;
53 virtual void childPagedIn(
const osg::DatabaseRequestHandler*, osg::PagedLOD* page, osg::Node* child)
const;
56 virtual void childAboutToPageOut(
const osg::DatabaseRequestHandler*, osg::PagedLOD* page, osg::Node* child)
const;
58 virtual osg::DatabaseRequestHandlerCallback*
clone()
const;
92 virtual bool initialize();
96 virtual void initializeNormalized2DCamera();
97 virtual void initialize2DCamera(
int w,
int h);
98 virtual void initializeSceneCamera();
99 virtual void initializeRenderTexture();
100 virtual void initializeRTTCamera();
102 virtual void clearRttCamera();
104 virtual void recreateRTTCamera();
109 virtual void setShadowState(
bool enable);
112 virtual void addOverlayDrawablesToCameras();
119 virtual void initializeSignalConnections();
131 virtual void setSensorName(
const std::string& sensorName);
134 virtual void setClearColor(
float r,
float g,
float b,
float a);
139 virtual void setWindow(
DtWindow* view);
142 virtual const DtWindow* window()
const;
145 virtual void setViewport(
int x,
int y,
int width,
int height);
150 virtual void clearFrameBufferIfChanged();
153 virtual void getViewport(
int& x,
int& y,
int& width,
int& height)
const;
156 virtual void setCameraPosition(
double x,
double y,
double z);
159 virtual void setCameraOrientation(
double psi,
double theta,
double phi);
165 virtual void setCameraPositionAndOrientation(
double x,
double y,
166 double z,
double psi,
double theta,
double phi);
167 virtual void setCameraPositionAndOrientation(osg::Vec3d& pos,
171 virtual void getCameraPositionAndOrientation(osg::Vec3d& position,
172 osg::Quat& rotation)
const;
176 virtual void setChannelEnabled(
bool enabled);
180 virtual bool channelEnabled()
const;
182 virtual void update();
185 virtual void connectToObserver();
188 virtual osgViewer::View& view();
212 virtual void setRenderToTexture(
bool enabled);
217 virtual void setRenderToTextureFormat(
int format,
int sourceFormat,
int sourceType);
231 virtual void depthTextureUsesStencilBuffer(
bool useStencil);
234 virtual bool depthTextureUsesStencilBuffer();
237 virtual int shadowQuality()
const;
242 virtual std::vector<const osg::Camera*> getShadowableCameras()
const;
246 virtual void setProjectionResizePolicy(
251 virtual void updateProjection();
254 double &left,
double zNear,
double &right,
double &top,
double &bottom);
257 virtual void connectChannelToScene();
263 virtual bool processKeyboardEvent(
const DtKeyEvent & ev);
269 virtual void getWorldToWindowMatrix(osg::Matrix& worldToWindowMatrix)
const;
272 virtual void moveMouseToScreenLocation(
float screenX,
float screenY);
277 virtual void projectToScreen(
double dbX,
double dbY,
double dbZ,
278 double& screenX,
double& screenY,
double& screenZ);
281 virtual void projectToWorld(
double screenX,
double screenY,
282 double& dbX,
double& dbY,
double& dbZ);
288 virtual const std::string& name();
301 virtual void addPostProcessEffect(
const std::string& postProcessorEffect);
306 virtual void removePostProcessEffect(
const std::string& postProcessorEffect);
313 virtual void setEnablePostProcessors(
bool enable);
315 virtual bool getEnablePostProcessors();
318 virtual bool useOldChannelOffsetCalcuation()
const;
319 virtual void setUseOldChannelOffsetCalcuation(
bool enable);
323 virtual bool forceHdrLuminanceOverride();
324 virtual void setForceHdrLuminanceOverride(
bool force);
333 virtual void clearStateGraph(
void);
338 virtual void setEnableHdrPassthrough(
bool flag);
339 virtual bool enableHdrPassthrough();
343 virtual void setHdrOutputScale(
float scale);
346 virtual float hdrOutputScale();
349 virtual void screenCapture();
352 virtual void setOcclusionTextureEnabled(
bool enabled);
355 virtual void initOcclusionTexture();
363 virtual void makeObserverToCameraMatrix(osg::Vec3d& orient,
364 osg::Matrixd& offsetObserverToCamera, osg::Matrixd& observerToCamera);
365 virtual void makeObserverToCameraMatrix(osg::Quat& qObserverToWorld,
366 osg::Matrixd& offsetObserverToCamera, osg::Matrixd& observerToCamera);
370 virtual void calculateNearFar(
double& zNear,
double& zFar);
375 virtual bool useAttachedForNearClip(
double alt);
378 virtual double calculateNearClip(
double alt,
double zFar);
381 virtual double calculateFarClip(
double alt);
387 virtual double calculateNearClipMagClamp(
double zNear,
double zFar,
float magLevel=2.);
390 virtual void projectFor3D();
393 virtual void projectFor2D();
397 virtual void connectRttCameraToScene();
402 virtual void stopUsingModelSet(
int modelSet);
407 virtual void startUsingModelSet(
int modelSet);
410 virtual void stopUsingSensor(
DtSensor* sensor);
413 virtual void startUsingSensor(
DtSensor* sensor);
416 virtual void slot_sensorRemoved(
DtSensor* sensor);
419 virtual void slot_visualizerRootAdded(
int modelSet,
int visualType);
427 int setting,
bool value);
434 virtual void slot_windowConfigurationModified(
const std::string& deName,
438 virtual void slot_channelConfigurationModified(
const std::string& deName,
439 const std::string& windowName,
const std::string& oldChannelName,
443 virtual void slot_onCoordinateSystemChanged();
446 virtual void observerRemoved(
const std::string& observerName);
449 virtual void updateMultiSampleOverrideSetting();
454 virtual void getRenderTextureAttachmentInfo(
unsigned int&
level,
unsigned int& face,
unsigned int& sampleBuffers,
unsigned int& samples);
457 virtual void initializeRenderTextureColor();
460 virtual void initializeRenderTextureDepth();
466 virtual void calculateAndSetFocusPointDistance(
double zNear,
double zFar);
470 osgViewer::CompositeViewer* getOrCreateViewer();
bool myShadowState
Definition: DtOsgChannel.h:517
DtOsgObserverObject * myOsgObserverObject
Definition: DtOsgChannel.h:477
Abstract Base class.
Definition: DtWindow.h:25
bool myCoordinateSystemChanged
Definition: DtOsgChannel.h:515
std::vector< osg::Vec3d > myFocusPoints
Definition: DtOsgChannel.h:550
bool myLastFocusPointAttemptedOsgEarthFailed
Definition: DtOsgChannel.h:552
osg::ref_ptr< osg::DatabaseRequestHandlerCallback > myDatabasePagerCallback
Definition: DtOsgChannel.h:534
int myRenderTextureFormat
Definition: DtOsgChannel.h:479
DtOsgWindow * myOsgWindow
Definition: DtOsgChannel.h:476
This class encapsulates a Key event.
Definition: DtKeyEvent.h:19
DtSensor * mySensor
Definition: DtOsgChannel.h:487
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
bool myFrameBufferNeedsClear
Definition: DtOsgChannel.h:540
The channel creator for the abstract channel class.
Definition: DtOsgChannel.h:567
bool mySensorInitialized
Definition: DtOsgChannel.h:488
int myLastNumMultiSamplesOverride
Definition: DtOsgChannel.h:548
Descriptor for a single intersection result.
Definition: DtIntersector.h:33
PostProcessorEffectList myPostProcessorEffects
Definition: DtOsgChannel.h:521
The abstract channel creator for the abstract channel class.
Definition: DtChannel.h:161
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:31
This class provides the OSG-specific implementation of a DtChannel.
Definition: DtOsgChannel.h:75
osg::ref_ptr< osg::Texture > myRenderTexture
The textures the 3D scene renders into when post processing is on.
Definition: DtOsgChannel.h:505
osg::ref_ptr< osg::Texture > myOcclusionTexture
Definition: DtOsgChannel.h:507
bool myEnableHdrPassthrough
Definition: DtOsgChannel.h:536
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:22
bool myEnablePostProcessors
Definition: DtOsgChannel.h:527
bool myUseOldChannelOffsetCalcuation
Definition: DtOsgChannel.h:532
bool myChannelEnabled
Definition: DtOsgChannel.h:490
osg::ref_ptr< osgViewer::View > myView
Definition: DtOsgChannel.h:475
osg::ref_ptr< DtCameraNode > myNormalized2DCamera
Definition: DtOsgChannel.h:502
int myRenderTextureSourceType
Definition: DtOsgChannel.h:483
The abstract Channel Class.
Definition: DtChannel.h:29
Contains makVrv::DtCameraNode declaration.
std::list< std::string > PostProcessorEffectList
Definition: DtOsgChannel.h:296
This abstract base class defines the interface for OS-specific keyboard and mouse event listeners...
Definition: DtObserverObject.h:29
bool myRenderToTextureFlag
Definition: DtOsgChannel.h:516
float myHdrOutputScale
Definition: DtOsgChannel.h:538
The osg cull vistor parameters class provides additional culling and intersector parameters for choos...
Definition: DtOsgCullVisitorParameters.h:38
Definition of a sensor.
Definition: DtSensor.h:30
osg::Node::NodeMask myOldSceneCameraNodeMask
Definition: DtOsgChannel.h:523
osg::ref_ptr< osg::Group > myRoot
Definition: DtOsgChannel.h:492
Contains makVrv::DtChannel class.
bool myIsUsingTrackballManipulator
Definition: DtOsgChannel.h:514
bool myForceHdrLuminanceOverride
Definition: DtOsgChannel.h:537
It is expected that custom implementations of paging (whether inheriting from pagedLOD or not...
Definition: DtTerrainPageSignaler.h:31
VR-Vantage specific subclass of OSG camera.
Definition: DtCameraNode.h:30
ProjectionUnits
Definition: DtChannelConfiguration.h:39
osg::ref_ptr< DtCameraNode > mySceneCamera
Definition: DtOsgChannel.h:496
osg::ref_ptr< DtCameraNode > myRTTCamera
Slave camera configured to render to myRenderTexture.
Definition: DtOsgChannel.h:512
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:26
std::map< int, DtChannelSpecificGroup * > VisualTypeMap
Definition: DtOsgChannel.h:473
Class for generic lights.
Definition: DtLight.h:48
bool myDepthTextureUsesStencilBuffer
Definition: DtOsgChannel.h:509
double myPreviousClampedNearClipDistance
Definition: DtOsgChannel.h:545
DtLight * myFlashlight
Definition: DtOsgChannel.h:525
bool myRenderTextureFormatDirty
Definition: DtOsgChannel.h:485
osg::ref_ptr< DtCameraNode > my2DCamera
Definition: DtOsgChannel.h:499
int myLastFocusPointAttempted
Definition: DtOsgChannel.h:551
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
int myRenderTextureSourceFormat
Definition: DtOsgChannel.h:481
Contains makVrv::DtOsgRenderer class.
ProjectionResizePolicy
Definition: DtChannelConfiguration.h:46
This abstract base class defines the interface for OS-specific keyboard and mouse event listeners...
Definition: DtOsgObserverObject.h:43
A basic OSG display window, used to get the osg context for a display window.
Definition: DtOsgWindow.h:36
osg::ref_ptr< osg::Texture > myDepthTexture
Definition: DtOsgChannel.h:506
boost::signal< void(int, int, int, int)> signal_viewportChanged
Emitted when the channel's viewport changes dimensions.
Definition: DtOsgChannel.h:294