Loading [MathJax]/extensions/TeX/AMSmath.js
Radium Engine  1.5.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
TransformEditor.hpp
1 #pragma once
2 
3 #include <Core/Types.hpp>
4 #include <Engine/Scene/ItemEntry.hpp>
5 #include <Gui/RaGui.hpp>
6 namespace Ra {
7 namespace Gui {
8 class RA_GUI_API TransformEditor
9 {
10  public:
11  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
12 
13  TransformEditor() : m_transform( Core::Transform::Identity() ) {}
14  virtual ~TransformEditor();
15 
17  virtual void setEditable( const Engine::Scene::ItemEntry& entry );
18 
20  virtual void updateValues() = 0;
21 
22  protected:
23  // Helper to get the transform property from the editable.
24  void getTransform();
25 
27  void setTransform( const Ra::Core::Transform& tr );
28 
29  bool canEdit() const;
30 
31  Core::Transform getWorldTransform() const;
32 
33  protected:
34  Core::Transform m_transform;
35  Engine::Scene::ItemEntry m_currentEdit;
36 };
37 } // namespace Gui
38 } // namespace Ra
Definition: Cage.cpp:3