cherish
SceneState.h
1 #ifndef SCENESTATE_H
2 #define SCENESTATE_H
3 
4 #include <vector>
5 #include <osg/Group>
6 #include <RootScene.h>
7 
8 #include "ProtectedGroup.h"
9 #include "SVMData.h"
10 #include "CamPoseData.h"
11 
12 class RootScene;
13 
14 namespace entity{
15 
30 {
31 public:
33  SceneState();
34 
40  SceneState(const SceneState& parent, osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY);
42 
43 
44  void setAxisFlag(bool flag);
46  bool getAxisFlag() const;
47 
49  void setBookmarksFlag(bool flag);
51  bool getBookmarksFlag() const;
52 
54  void setCanvasDataFlags(const std::vector<bool>& flags);
56  const std::vector<bool>& getCanvasDataFlags() const;
57 
59  void setCanvasToolFlags(const std::vector<bool>& flags);
61  const std::vector<bool>& getCanvasToolFlags() const;
62 
64  void setPhotoTransparencies(const std::vector<float>& transparencies);
66  const std::vector<float>& getPhotoTransparencies() const;
67 
71  void stripDataFrom(RootScene* scene);
72 
75  bool isEmpty() const;
76 
78  void clear();
79 
82  void pushDataFlag(bool flag);
83 
85  void popBackDataFlag();
86 
89  void pushToolFlag(bool flag);
90 
92  void popBackToolFlag();
93 
96  void pushTransparency(float t);
97 
99  void popBackTransparency();
100 
104  void insertDataFlag(int index, bool flag);
105 
108  void eraseDataFlag(int index);
109 
113  void insertToolFlag(int index, bool flag);
114 
117  void eraseToolFlag(int index);
118 
122  void insertTransparency(int index, float t);
123 
127  void eraseTransparency(int start, int number);
128 
132  void resetTransparency(int index, float t);
133 
137  bool addSVMData(const osg::Matrix& wall, const osg::Matrix& floor);
138 
141  bool addCamPoseData(const osg::Matrix& matrix, double fov);
142 
145 
146  entity::CamPoseData* getCamPoseData();
147 
148  osg::ProtectedGroup* getChildData();
149 
150 private:
151  bool m_axisFlag;
152  bool m_bookmarksFlag;
153  std::vector<bool> m_canvasDataFlags;
154  std::vector<bool> m_canvasToolFlags;
155  std::vector<float> m_photoTransparencies;
157 }; // class SceneState
158 
159 } // namespace entity
160 
161 #endif // SCENESTATE_H
SceneState()
Definition: SceneState.cpp:3
bool getBookmarksFlag() const
Definition: SceneState.cpp:35
void stripDataFrom(RootScene *scene)
Definition: SceneState.cpp:70
void clear()
Definition: SceneState.cpp:100
void insertTransparency(int index, float t)
Definition: SceneState.cpp:179
void popBackDataFlag()
Definition: SceneState.cpp:112
Definition: SVMData.h:22
void setCanvasToolFlags(const std::vector< bool > &flags)
Definition: SceneState.cpp:50
void eraseTransparency(int start, int number)
Definition: SceneState.cpp:189
bool addCamPoseData(const osg::Matrix &matrix, double fov)
Definition: SceneState.cpp:220
void popBackTransparency()
Definition: SceneState.cpp:132
Scene graph entities.
Definition: AddEntityCommand.h:17
META_Node(entity, SceneState) void setAxisFlag(bool flag)
const std::vector< bool > & getCanvasDataFlags() const
Definition: SceneState.cpp:45
bool addSVMData(const osg::Matrix &wall, const osg::Matrix &floor)
Definition: SceneState.cpp:211
Contains all the entities that will appear on the scene: both user scene and utility entities (i...
Definition: RootScene.h:46
void popBackToolFlag()
Definition: SceneState.cpp:122
entity::SVMData * getSVMData()
Definition: SceneState.cpp:228
void pushTransparency(float t)
Definition: SceneState.cpp:127
void setPhotoTransparencies(const std::vector< float > &transparencies)
Definition: SceneState.cpp:60
bool getAxisFlag() const
Definition: SceneState.cpp:25
void pushDataFlag(bool flag)
Definition: SceneState.cpp:107
const std::vector< bool > & getCanvasToolFlags() const
Definition: SceneState.cpp:55
void setBookmarksFlag(bool flag)
Definition: SceneState.cpp:30
void pushToolFlag(bool flag)
Definition: SceneState.cpp:117
void eraseToolFlag(int index)
Definition: SceneState.cpp:169
void eraseDataFlag(int index)
Definition: SceneState.cpp:148
void setCanvasDataFlags(const std::vector< bool > &flags)
Definition: SceneState.cpp:40
A convinience class that inherits full functionality of osg::Group except the methods that allow dire...
Definition: ProtectedGroup.h:17
void insertToolFlag(int index, bool flag)
Definition: SceneState.cpp:159
const std::vector< float > & getPhotoTransparencies() const
Definition: SceneState.cpp:65
void insertDataFlag(int index, bool flag)
Definition: SceneState.cpp:137
A class to describe the current state of the scene, e.g., state of switches.
Definition: SceneState.h:29
Definition: CamPoseData.h:21
void resetTransparency(int index, float t)
Definition: SceneState.cpp:201
bool isEmpty() const
Definition: SceneState.cpp:93