Radium Engine  1.5.20
Loading...
Searching...
No Matches
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
7namespace Ra {
8namespace Gui {
9
11class 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
hepler function to manage enum as underlying types in VariableSet
Definition Cage.cpp:3