cherish
CamPoseData.h
1 #ifndef CAMPOSEDATA_H
2 #define CAMPOSEDATA_H
3 
4 #include <osg/Switch>
5 #include <osg/MatrixTransform>
6 #include <osg/Camera>
7 
8 #include "ProtectedGroup.h"
9 #include "EditableWire.h"
10 
11 // forware declaration
12 namespace entity {
13 class EditableWire;
14 }
15 
20 namespace entity {
22 {
23 public:
25  CamPoseData(double fov);
26 
28  void setTransform(osg::Matrix m);
29 
31  void setVisibility(bool visibility);
32 
34  bool getVisibility() const;
35 
38 
41 
43  bool getCamera(osg::Vec3f& eye, osg::Vec3f& center, osg::Vec3f& up, double& fov2);
44 
45 private:
46  osg::ref_ptr<osg::Switch> m_switch;
47  entity::EditableWire* m_wire;
48  osg::Camera* m_camera;
50 }; // class CamPoseData
51 } // namespace entity
52 
53 #endif // CAMPOSEDATA_H
CamPoseData(double fov)
Definition: CamPoseData.cpp:11
bool getVisibility() const
Definition: CamPoseData.cpp:38
A scene graph class that contains all the geometric entities for camera pose drawing.
Definition: EditableWire.h:28
Scene graph entities.
Definition: AddEntityCommand.h:17
entity::EditableWire * getWire() const
Definition: CamPoseData.cpp:61
bool getCamera(osg::Vec3f &eye, osg::Vec3f &center, osg::Vec3f &up, double &fov2)
Definition: CamPoseData.cpp:66
void setTransform(osg::Matrix m)
Definition: CamPoseData.cpp:28
A convinience class that inherits full functionality of osg::Group except the methods that allow dire...
Definition: ProtectedGroup.h:17
void setVisibility(bool visibility)
Definition: CamPoseData.cpp:33
static entity::CamPoseData * getParentCamPose(entity::EditableWire *wire)
Definition: CamPoseData.cpp:43
Definition: CamPoseData.h:21