14 #ifndef OSGVIEWER_VIEW
15 #define OSGVIEWER_VIEW 1
19 #include <osgUtil/PolytopeIntersector>
20 #include <osgUtil/LineSegmentIntersector>
21 #include <osgUtil/UpdateVisitor>
22 #include <osgUtil/SceneView>
24 #include <osgGA/CameraManipulator>
25 #include <osgGA/EventVisitor>
26 #include <osgGA/EventQueue>
27 #include <osgGA/Device>
29 #include <osgViewer/Scene>
30 #include <osgViewer/ViewerBase>
31 #include <osgViewer/Keystone>
65 virtual bool getDepthRange(
osg::View& view,
unsigned int partition,
double& zNear,
double& zFar);
104 virtual void setSceneData(
osg::Node* node);
140 typedef std::vector< osg::ref_ptr<osgGA::Device> > Devices;
142 Devices& getDevices() {
return _eventSources; }
143 const Devices& getDevices()
const {
return _eventSources; }
188 void setCoordinateSystemNodePath(
const osg::NodePath& nodePath);
194 void computeActiveCoordinateSystemNodePath();
209 _fusionDistanceMode = mode;
210 _fusionDistanceValue = value;
228 void setUpViewAcrossAllScreens();
231 void setUpViewInWindow(
int x,
int y,
int width,
int height,
unsigned int screenNum=0);
234 void setUpViewOnSingleScreen(
unsigned int screenNum=0);
237 void setUpViewFor3DSphericalDisplay(
double radius=1.0,
double collar=0.45,
unsigned int screenNum=0,
osg::Image* intensityMap=0,
const osg::Matrixd& projectorMatrix =
osg::Matrixd());
240 void setUpViewForPanoramicSphericalDisplay(
double radius=1.0,
double collar=0.45,
unsigned int screenNum=0,
osg::Image* intensityMap=0,
const osg::Matrixd& projectorMatrix =
osg::Matrixd());
243 void setUpViewForWoWVxDisplay(
unsigned int screenNum,
unsigned char wow_content,
unsigned char wow_factor,
unsigned char wow_offset,
float wow_disparity_Zd,
float wow_disparity_vz,
float wow_disparity_M,
float wow_disparity_C);
255 bool containsCamera(
const osg::Camera* camera)
const;
259 const osg::Camera* getCameraContainingPosition(
float x,
float y,
float& local_x,
float& local_y)
const;
281 virtual void requestRedraw();
282 virtual void requestContinuousUpdate(
bool needed=
true);
283 virtual void requestWarpPointer(
float x,
float y);
307 void assignSceneDataToCameras();
float getFusionDistanceValue() const
osg::ref_ptr< osgViewer::Scene > _scene
osgUtil::SceneView::FusionDistanceMode _fusionDistanceMode
const EventHandlers & getEventHandlers() const
osg::ref_ptr< osgGA::EventQueue > _eventQueue
osgGA::EventQueue * getEventQueue()
std::list< osg::ref_ptr< osgGA::EventHandler > > EventHandlers
const osgGA::CameraManipulator * getCameraManipulator() const
osg::Node * getSceneData()
const ViewConfig * getLastAppliedViewConfig() const
osg::ObserverNodePath _coordinateSystemNodePath
EventHandlers _eventHandlers
float _fusionDistanceValue
const osgGA::EventQueue * getEventQueue() const
const Scene * getScene() const
unsigned long long Timer_t
void setDisplaySettings(osg::DisplaySettings *ds)
#define META_Object(library, name)
std::multiset< Intersection > Intersections
GLint GLenum GLsizei width
osg::ref_ptr< osg::DisplaySettings > _ds
osg::ref_ptr< osgGA::CameraManipulator > _cameraManipulator
void setFusionDistance(osgUtil::SceneView::FusionDistanceMode mode, float value=1.0f)
osg::ref_ptr< osg::DisplaySettings > _displaySettings
osg::DisplaySettings * getDisplaySettings()
ViewerBase * getViewerBase()
const osg::Node * getSceneData() const
osg::observer_ptr< ViewerBase > _viewerBase
osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode() const
virtual void configure(osgViewer::View &) const
void setEventQueue(osgGA::EventQueue *eventQueue)
GLint GLenum GLsizei GLsizei height
osg::ref_ptr< ViewConfig > _lastAppliedViewConfig
virtual osg::View * asView()
EventHandlers & getEventHandlers()
StereoSlaveCallback(osg::DisplaySettings *ds, double eyeScale)
const osg::DisplaySettings * getDisplaySettings() const
osgGA::CameraManipulator * getCameraManipulator()
osg::Timer_t getStartTick() const
ViewConfig(const ViewConfig &rhs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
ViewConfig * getLastAppliedViewConfig()
std::vector< Node * > NodePath