fshake3d
0.0.1
FreeformDensity3DSurfaceEditor
|
00001 #ifndef SCENE_HPP 00002 #define SCENE_HPP 00003 00004 #include "ui_Event.hpp" 00005 #include "math.hpp" 00006 00007 class Node 00008 { 00009 public: 00010 virtual ~Node() { } 00011 }; 00012 00013 class Group : public Node 00014 { 00015 public: 00016 size_t getChildCount(); 00017 Node* getChildAt(size_t index); 00018 private: 00019 std::vector<Node*> mChildren; 00020 }; 00021 00022 class Shape 00023 { 00024 public: 00025 virtual void display() = 0; 00026 }; 00027 00028 class SceneView; 00029 00030 #include "scene_Control3D.hpp" 00031 00032 class Scene 00033 { 00034 public: 00035 void display(); 00036 void onEvent(Event& e); 00037 void select(const Rayd& ray, SceneView& view); 00038 void drag(const Rayd& ray, SceneView& view); 00039 void addNode(Node* node); 00040 private: 00041 std::vector<Node*> mNodes; 00042 }; 00043 00044 class SceneController 00045 { 00046 public: 00047 void select(const Rayd& ray, SceneView& view); 00048 void drag(const Rayd& ray, SceneView& view); 00049 }; 00050 00051 #endif // SCENE_HPP