Radium Engine  1.5.0
TranslateGizmo.hpp
1 #pragma once
2 
3 #include <Core/Asset/Camera.hpp>
4 #include <Engine/Scene/CameraComponent.hpp>
5 #include <Gui/Viewer/Gizmo/Gizmo.hpp>
6 
7 namespace Ra {
8 namespace Gui {
9 
11 class TranslateGizmo : public Gizmo
12 {
13  public:
14  // Draw a frame with : 3 RGB arrows and 3 RGB squares
16  const Core::Transform& worldTo,
17  const Core::Transform& t,
18  Mode mode );
19 
20  void updateTransform( Gizmo::Mode mode,
21  const Core::Transform& worldTo,
22  const Core::Transform& t ) override;
23  void selectConstraint( int drawableIndex ) override;
24  bool isSelected() override { return m_selectedAxis != -1 || m_selectedPlane != -1; }
25  void setInitialState( const Core::Asset::Camera& cam, const Core::Vector2& initialXY ) override;
26  Core::Transform mouseMove( const Core::Asset::Camera& cam,
27  const Core::Vector2& nextXY,
28  bool stepped,
29  bool whole ) override;
30 
31  private:
32  Ra::Core::Vector3 m_startPoint;
33  Ra::Core::Vector3 m_initialTrans;
34  Core::Vector2 m_initialPix;
35  int m_selectedAxis;
36  int m_selectedPlane;
37  bool m_start;
38 };
39 
40 } // namespace Gui
41 } // namespace Ra
Camera class storing the Camera frame and the projection properties The view direction is -z in camer...
Definition: Camera.hpp:16
A component is an element that can be updated by a system. It is also linked to some other components...
Definition: Component.hpp:31
A TranslateGizmo manipulates the translational part of a transformation.
void updateTransform(Gizmo::Mode mode, const Core::Transform &worldTo, const Core::Transform &t) override
Called every time the underlying transform may have changed.
void selectConstraint(int drawableIndex) override
Called when one of the drawables of the gizmo has been selected.
bool isSelected() override
return the selection state of the gizmo: true if the gizmo is selected, false if not.
void setInitialState(const Core::Asset::Camera &cam, const Core::Vector2 &initialXY) override
Core::Transform mouseMove(const Core::Asset::Camera &cam, const Core::Vector2 &nextXY, bool stepped, bool whole) override
Definition: Cage.cpp:3