openscenegraph
CameraView
Go to the documentation of this file.
1/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
2 *
3 * This library is open source and may be redistributed and/or modified under
4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5 * (at your option) any later version. The full license is in LICENSE file
6 * included with this distribution, and on the openscenegraph.org website.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * OpenSceneGraph Public License for more details.
12*/
13
14#ifndef OSG_CAMERAVIEW
15#define OSG_CAMERAVIEW 1
16
17#include <osg/Group>
18#include <osg/Transform>
19#include <osg/AnimationPath>
20#include <osg/Vec3d>
21#include <osg/Quat>
22
23namespace osg {
24
30{
31 public :
33
34 CameraView(const CameraView& pat,const CopyOp& copyop=CopyOp::SHALLOW_COPY):
35 Transform(pat,copyop),
36 _position(pat._position),
37 _attitude(pat._attitude),
38 _fieldOfView(pat._fieldOfView),
39 _fieldOfViewMode(pat._fieldOfViewMode),
40 _focalLength(pat._focalLength) {}
41
42
44
46 inline void setPosition(const Vec3d& pos) { _position = pos; dirtyBound(); }
47
49 inline const Vec3d& getPosition() const { return _position; }
50
52 inline void setAttitude(const Quat& quat) { _attitude = quat; dirtyBound(); }
53
55 inline const Quat& getAttitude() const { return _attitude; }
56
61 inline void setFieldOfView(double fieldOfView) { _fieldOfView = fieldOfView; }
62
64 inline double getFieldOfView() const { return _fieldOfView; }
65
72
74 inline void setFieldOfViewMode(FieldOfViewMode mode) { _fieldOfViewMode = mode; }
75
77 inline FieldOfViewMode getFieldOfViewMode() const { return _fieldOfViewMode; }
78
82 inline void setFocalLength(double focalLength) { _focalLength = focalLength; }
83
85 inline double getFocalLength() const { return _focalLength; }
86
87
88 virtual bool computeLocalToWorldMatrix(Matrix& matrix,NodeVisitor* nv) const;
89 virtual bool computeWorldToLocalMatrix(Matrix& matrix,NodeVisitor* nv) const;
90
91
92 protected :
93
94 virtual ~CameraView() {}
95
101};
102
103}
104
105#endif
Definition CameraView:30
void setFieldOfViewMode(FieldOfViewMode mode)
Definition CameraView:74
FieldOfViewMode
Definition CameraView:67
@ HORIZONTAL
Definition CameraView:69
@ UNCONSTRAINED
Definition CameraView:68
virtual ~CameraView()
Definition CameraView:94
Quat _attitude
Definition CameraView:97
void setFocalLength(double focalLength)
Definition CameraView:82
void setFieldOfView(double fieldOfView)
Definition CameraView:61
FieldOfViewMode _fieldOfViewMode
Definition CameraView:99
double _focalLength
Definition CameraView:100
double getFocalLength() const
Definition CameraView:85
void setAttitude(const Quat &quat)
Definition CameraView:52
virtual bool computeLocalToWorldMatrix(Matrix &matrix, NodeVisitor *nv) const
void setPosition(const Vec3d &pos)
Definition CameraView:46
Vec3d _position
Definition CameraView:96
double _fieldOfView
Definition CameraView:98
const Quat & getAttitude() const
Definition CameraView:55
double getFieldOfView() const
Definition CameraView:64
virtual bool computeWorldToLocalMatrix(Matrix &matrix, NodeVisitor *nv) const
FieldOfViewMode getFieldOfViewMode() const
Definition CameraView:77
CameraView(const CameraView &pat, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
Definition CameraView:34
META_Node(osg, CameraView)
const Vec3d & getPosition() const
Definition CameraView:49
Definition CopyOp:41
Definition Matrixd:27
Definition NodeVisitor:82
Definition Quat:30
Definition Transform:75
Definition Vec3d:30
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
#define OSG_EXPORT
Definition osg/Export:39