39 #ifndef H_OGF_MESH_GFX_TOOLS_MESH_GROB_TOOL_H
40 #define H_OGF_MESH_GFX_TOOLS_MESH_GROB_TOOL_H
42 #include <OGF/mesh_gfx/common/common.h>
60 gom_attribute(
abstract,
"true")
80 return dynamic_cast<MeshGrob*
>(object()) ;
164 const RayPick& rp, MeshElementsFlags what,
165 Image* image=
nullptr,
185 return picked_point_;
204 return picked_depth_;
211 double picked_depth_;
216 class MeshGrobTransformTool;
377 gom_attribute(
abstract,
"true")
385 MOUSE_BUTTON_WHEEL_UP,
389 MOUSE_BUTTON_WHEEL_DOWN,
392 prev_inverse_transform_.load_identity();
410 return dynamic_cast<MeshGrob*
>(object()) ;
423 mat4 MM = M * prev_inverse_transform_;
424 transform_subset(MM);
425 prev_inverse_transform_ = M.
inverse();
matrix_type inverse() const
Computes the inverse matrix.
Enables to interactively define a rotation.
Applies a mouse-controlled translation to a subset.
MeshGrobMoveSubset(MeshGrobTransformTool *parent)
MeshGrobMoveSubset constructor.
void drag(const RayPick &p_ndc) override
The event handler for mouse drag events.
void grab(const RayPick &p_ndc) override
Applies a mouse-controlled scaling to a subset.
void grab(const RayPick &p_ndc) override
void drag(const RayPick &p_ndc) override
The event handler for mouse drag events.
MeshGrobResizeSubset(MeshGrobTransformTool *parent)
MeshGrobResizeSubset constructor.
Applies a mouse-controlled rotation to a subset.
MeshGrobRotateSubset(MeshGrobTransformTool *parent)
MeshGrobRotateSubset constructor.
void grab(const RayPick &p_ndc) override
void release(const RayPick &p_ndc) override
The event handler for mouse release events.
void drag(const RayPick &p_ndc) override
The event handler for mouse drag events.
A Grob wrapper around Geogram's Mesh class.
geo_index_t index_t
The type for storing and manipulating indices.
Global Graphite namespace.
Represents the information related with a picking event.