19 constexpr static float length = 1.0f;
20 constexpr static float thickness = 0.5f;
22 glm::vec3 initialHitPoint;
23 glm::vec3 originalPosition;
Axis
Cardinal axes for handle orientation.
Interface for interactive manipulation handles on gizmos.
constexpr glm::vec3 axisDir(Axis a)
Converts an axis enum to its corresponding unit vector.
Abstract interface for gizmo manipulation handles.
glm::vec3 getAxisDir() const override
Gets the axis direction this handle operates along/around.
void setDragState(glm::vec3 initHitPos) override
Initializes the drag operation state.
void onDrag(const Math::Ray &ray) override
Handles continuous dragging motion.
glm::mat4 getModelMatrix() const override
Gets the model transformation matrix for rendering this handle.
Represents a ray in 3D space.