vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CameraMovementEditor.h
Go to the documentation of this file.
1 #ifndef _CAMERA_MOVEMENT_EDITOR_H
2 #define _CAMERA_MOVEMENT_EDITOR_H
3 
5 
6 #include <vrecko/Ability.h>
8 #include <vrecko/Scene.h>
10 #include <vrecko/Logger.h>
11 
12 #include <osgDB/ReadFile>
13 
14 #include <iostream>
15 #include <sstream>
16 
17 #include "CameraPath.h"
18 
19 using namespace vrecko;
20 
21 namespace APCameraMovement {
22 
24  public:
26  virtual ~CameraMovementEditor() {};
27 
28  void update(void);
29 
30  private:
31  enum Action {
32  NONE = 0,
33  SELECT = 1,
34  ADD = 2,
35  REMOVE = 3,
36  MOVE = 4,
37  ROTATE = 5,
38  ANIMATE = 6
39  };
40 
41  protected:
42  virtual void fillDefaultInfo();
43 
44  virtual bool activate();
45  virtual void deactivate();
46 
47  unsigned long selectedObjectID; // ID of the object that is being handled. If this is 0, the ability is not activated
48 
49  void issueRequests(bool bStopIfNoSelection);
50 
51  bool setIntersection(osg::Vec3& position, vrecko::Scene* scenePtr);
52  osgUtil::LineSegmentIntersector::Intersection intersection;
53 
54  Action action;
57 
58  bool viewMenu();
59  virtual void menuItemClicked(const char* itemID);
60 
61  bool menuShowed;
63 
64  unsigned int pointIndex;
65  unsigned int pointType;
66 
67  osg::Vec3 firstPointerPos;
68  osg::Vec3 firstObjectPos;
69  osg::Vec3 firstObjectPosCo;
70 
71  };
72 
73 }
74 
75 #endif
76