26 #include <osg/Matrixd> 27 #include <osg/Referenced> 28 #include <osg/ref_ptr> 29 #include <osgGA/TrackballManipulator> 33 class FollowingTrackball;
45 class OF_EXPORT
View :
public osg::Referenced
100 _projType = PERSPECTIVE;
101 _projection.makePerspective(fovy, ratio, 1, 10000);
108 if(_projType == PERSPECTIVE)
111 _projection.getPerspective(fovy, ratio, zNear, zFar);
117 const double bottom,
const double top)
119 _projType = ORTHOGRAPHIC;
120 _projection.makeOrtho(left, right, bottom, top, 1, 10000);
126 double &bottom,
double &top)
const 128 if(_projType == ORTHOGRAPHIC)
131 _projection.getOrtho(left, right, bottom, top, zNear, zFar);
137 osg::Matrixd getViewMatrix();
143 double getDefaultViewDistance()
const {
return _defaultViewDistance; }
179 ReferenceFrame* getLookAtFrame() {
return _xform_lookat->getOrigin(); }
180 ViewFrameType getViewFrameType() {
return _frameType; }
181 ViewRotationType getViewRotationType() {
return _rotationType; }
183 inline bool isValid() {
return _xform->isValid();}
190 osg::ref_ptr<TransformAccumulator>
_xform;
225 virtual const char* className()
const {
return "FollowingTrackball"; }
231 virtual osg::Matrixd getMatrix()
const;
232 virtual osg::Matrixd getInverseMatrix()
const;
233 virtual bool handle(
const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& us);
240 virtual void saveState();
241 virtual void restoreState();
242 virtual void resetState();
245 void computeWorldToViewMatrix(osg::Matrixd &matrix)
const;
248 osg::observer_ptr<TransformAccumulator> _xform, _xform_lookat;
osg::Matrixd getProjectionMatrix()
Definition: View.hpp:136
ViewRotationType
Definition: View.hpp:78
ProjectionType getProjectionType()
Definition: View.hpp:95
ViewFrameType
Definition: View.hpp:58
Defines transforms that can perform complex view transformations.
Definition: View.hpp:220
void setPerspective(const double fovy, const double ratio)
Definition: View.hpp:98
ReferenceFrame * getViewRoot()
Definition: View.hpp:177
Definition: CoordinateAxes.hpp:29
void setDefaultViewDistance(double distance)
Definition: View.hpp:142
osg::ref_ptr< FollowingTrackball > _trackball
Definition: View.hpp:207
ProjectionType
Definition: View.hpp:49
double _defaultViewDistance
Definition: View.hpp:204
osg::ref_ptr< TransformAccumulator > _xform
Definition: View.hpp:190
osg::ref_ptr< TransformAccumulator > _xform_lookat
Definition: View.hpp:194
void getPerspective(double &fovy, double &ratio) const
Definition: View.hpp:106
osg::Matrixd _projection
Definition: View.hpp:201
void getOrthographic(double &left, double &right, double &bottom, double &top) const
Definition: View.hpp:125
FollowingTrackball * getTrackball() const
Definition: View.hpp:146
Definition: ReferenceFrame.hpp:54
void setOrthographic(const double left, const double right, const double bottom, const double top)
Definition: View.hpp:116
Encapsulates variables needed for a view.
Definition: View.hpp:45
ProjectionType _projType
Definition: View.hpp:198