42 Handler(
const std::shared_ptr<Matrix4f>& matrix);
86 std::shared_ptr<LineHandler>
_lineHandler(
const std::shared_ptr<Matrix4f>& matrix);
87 std::shared_ptr<ArcHandler>
_arcHandler(
const std::shared_ptr<Matrix4f>& matrix);
88 std::shared_ptr<ShapeHandler>
_shapeHandler(
const std::shared_ptr<Matrix4f>& matrix);
The ArcHandler class inherits from the Handler class, specifically designed for rotating operation.
Definition handler.h:67
virtual bool update(const Ray &r)
Moves the handler by adjusting its transformation matrix to match the cursor's position.
ArcHandler(const std::shared_ptr< Matrix4f > &matrix)
virtual float hit(const Ray &r)
Calculates and returns the distance between the cursor position and the geometry of the handler(in fl...
The Handler class, inheriting from Node, represents a draggable element within a Locator object....
Definition handler.h:29
virtual bool begin(const Ray &r)
Initiates the update process and returns success(always true).
std::shared_ptr< Matrix4f > m_matrix
Definition handler.h:36
Vector3f m_initialPoint
Definition handler.h:38
void setHilited(bool hilited)
Sets the highlighted state of the Handler to either true(highlighted) or false(not highlighted).
std::shared_ptr< HandlerBuilder > m_builder
Definition handler.h:35
Handler(const std::shared_ptr< Matrix4f > &matrix)
static float s_handlerScale
This member variable holds the length scale factor of the Handler geometry.
Definition handler.h:31
Matrix4f m_initial
Definition handler.h:37
bool hilited() const
Indicates whether the Handler is currently highlighted by returning a boolean value(true for highligh...
virtual bool update(const Ray &r)
Moves the handler by adjusting its transformation matrix to match the cursor's position.
virtual float hit(const Ray &r)
Calculates and returns the distance between the cursor position and the geometry of the handler(in fl...
Vector3f m_initialDir
Definition handler.h:39
bool m_hilited
Definition handler.h:34
virtual bool end(const Ray &r)
Completes the update process and returns success(always true).
The LineHandler class inherits from the Handler class, specifically designed for translating operatio...
Definition handler.h:57
virtual float hit(const Ray &r)
Calculates and returns the distance between the cursor position and the geometry of the handler(in fl...
virtual bool update(const Ray &r)
Moves the handler by adjusting its transformation matrix to match the cursor's position.
LineHandler(const std::shared_ptr< Matrix4f > &matrix)
The Matrix4f class is 4 X 4 matrix.
Definition matrix.h:226
The Node class represents a node in a scene graph. A scene graph is a hierarchicaldata stucture used ...
Definition node.h:35
The Ray class inherits from the Tuple class, specilizing the templated parameter to float for element...
Definition ray.h:31
The ShapeHandler class inherits from the Handler class, specifically designed for scaling operation.
Definition handler.h:77
ShapeHandler(const std::shared_ptr< Matrix4f > &matrix)
virtual float hit(const Ray &r)
Calculates and returns the distance between the cursor position and the geometry of the handler(in fl...
virtual bool update(const Ray &r)
Moves the handler by adjusting its transformation matrix to match the cursor's position.
The class Vector3f inherits from the templated class of Vector3, and the template parameters are spec...
Definition vector.h:322
std::shared_ptr< ArcHandler > _arcHandler(const std::shared_ptr< Matrix4f > &matrix)
std::shared_ptr< LineHandler > _lineHandler(const std::shared_ptr< Matrix4f > &matrix)
std::shared_ptr< ShapeHandler > _shapeHandler(const std::shared_ptr< Matrix4f > &matrix)