Graphite
Version 3
An experimental 3D geometry processing program
|
Base class for tools that operate on MeshGrob. More...
#include <OGF/mesh_gfx/tools/mesh_grob_tool.h>
Public Member Functions | |
MeshGrobTool (ToolsManager *parent) | |
MeshGrobTool constructor. More... | |
~MeshGrobTool () override | |
MeshGrobTool destructor. | |
MeshGrob * | mesh_grob () const |
Gets the MeshGrob this MeshGrobTool operates on. More... | |
index_t | pick_vertex (const RayPick &rp) |
Picks a vertex. More... | |
index_t | pick_edge (const RayPick &rp) |
Picks a edge. More... | |
index_t | pick_facet (const RayPick &rp) |
Picks a facet. More... | |
index_t | pick_cell (const RayPick &rp) |
Picks a cell. More... | |
bool | pick_facet_edge (const RayPick &rp, index_t &facet, index_t &corner) |
Picks an edge of a facet. More... | |
index_t | pick (const RayPick &rp, MeshElementsFlags what, Image *image=nullptr, index_t x0=0, index_t y0=0, index_t width=0, index_t height=0) |
Picks an element of the mesh. More... | |
vec3 | drag_point (const RayPick &rp) const |
Gets the 3D coordinate of a point dragged from the latest picked point to the actual mouse position in a direction parallel to the screen. More... | |
const vec3 & | picked_point () const |
Gets the picked point in world coordinates. More... | |
const vec2 & | picked_ndc () const |
Gets the picked point in normalized device coordinates. More... | |
double | picked_depth () const |
Gets the depth of the picked point. More... | |
Public Member Functions inherited from OGF::Tool | |
Tool (ToolsManager *mgr) | |
Tool constructor. More... | |
void | status (const std::string &value) |
Outputs a message in the status bar. More... | |
SceneGraph * | scene_graph () |
Gets the SceneGraph. More... | |
virtual void | drag (const RayPick &value) |
The event handler for mouse drag events. More... | |
virtual void | release (const RayPick &value) |
The event handler for mouse release events. More... | |
virtual void | reset () |
Resets this Tool. More... | |
virtual void | configure () |
Configures this Tool. More... | |
ToolsManager * | tools_manager () const |
Gets the ToolsManager. More... | |
const mat4 & | focus () const |
Gets the current focus matrix. More... | |
RenderingContext * | rendering_context () const |
Gets the RenderingContext. More... | |
Grob * | object () const |
Gets the current object. More... | |
vec2 | project_point (vec3 p) const |
Computes screen-coordinates of a 3D point. More... | |
vec2 | ndc_to_dc (vec2 p) const |
Converts normalized device coordinates to device coordinates. More... | |
Public Member Functions inherited from OGF::Node | |
Node (Node *parent=nullptr) | |
Node constructor. More... | |
virtual | ~Node () |
Node destructor. | |
virtual void | add_child (Node *child) |
Adds a child to this Node. More... | |
virtual void | remove_child (Node *child) |
Removes a child from this Node. \parma[in] child a pointer to the child to be removed. | |
Node * | get_parent () const |
Gets the parent. More... | |
Public Member Functions inherited from OGF::Object | |
Object (bool transient=false) | |
Object constructor. More... | |
virtual | ~Object () |
Object destructor. | |
virtual MetaClass * | meta_class () const |
Gets the meta class. More... | |
virtual void | set_meta_class (MetaClass *mclass) |
Sets the meta class. More... | |
unsigned int | id () const |
Gets the identifier of this object. More... | |
std::string | string_id () const |
Gets the unique string identifier. More... | |
bool | has_method (const std::string &method_name) const |
Tests whether a method is defined. More... | |
virtual bool | invoke_method (const std::string &method_name, const ArgList &args, Any &ret_val) |
Invokes a method by method name and argument list, and gets the return value. More... | |
bool | invoke_method (const std::string &method_name, const ArgList &args) |
Invokes a method by method name and argument list. More... | |
bool | invoke_method (const std::string &method_name) |
Invokes a method by method name. More... | |
bool | has_property (const std::string &prop_name) const |
Tests whether a property is defined. More... | |
virtual bool | get_property (const std::string &prop_name, std::string &prop_value) const |
Gets a property. More... | |
virtual Connection * | connect_signal_to_slot (const std::string &signal_name, Object *to, const std::string &slot_name) |
Connects a signal with a slot of another object. More... | |
virtual void | add_connection (Connection *connection) |
Adds a connection to this object. More... | |
virtual void | remove_connection (Connection *connection) |
Removes a connection to this object. More... | |
virtual void | get_element (index_t i, Any &value) const |
Gets an element by index. More... | |
virtual void | set_element (index_t i, const Any &value) |
Sets an element by index. More... | |
virtual void | search (const std::string &needle, const std::string &path="") |
Displays the names of all objects that contain a substring. More... | |
bool | get_signals_enabled () const |
Tests wheter signals are enabled. More... | |
void | set_signals_enabled (bool value) |
Enables or disables signals. More... | |
bool | get_slots_enabled () const |
Tests wheter slots are enabled. More... | |
void | set_slots_enabled (bool value) |
Enables or disables slots. More... | |
MetaClass * | get_meta_class () const |
Gets the meta class. More... | |
std::string | get_string_id () const |
Gets the unique string identifier. More... | |
virtual std::string | get_doc () const |
Gets the documentation. More... | |
virtual Sign | compare (const Object *other) const |
Compares this object with another one. More... | |
virtual bool | is_a (const MetaType *type) const |
Tests whether this object inherits a given type. More... | |
void | disconnect () |
Removes all connections from signals of this objects. More... | |
void | enable_signals () |
Enables signals. | |
void | disable_signals () |
Disables signals. | |
void | enable_slots () |
Enables slots. | |
void | disable_slots () |
Disables slots. | |
void | set_properties (const ArgList &args) |
Sets several properties in a single call. More... | |
virtual bool | set_property (const std::string &name, const std::string &value) |
Sets an individual property. More... | |
void | help () const |
Displays some help about this object. More... | |
virtual bool | set_property (const std::string &name, const Any &value) |
Sets an individual property. More... | |
virtual bool | get_property (const std::string &prop_name, Any &prop_value) const |
Gets a property. More... | |
Public Member Functions inherited from GEO::Counted | |
void | ref () const |
Increments the reference count. More... | |
void | unref () const |
Decrements the reference count. More... | |
bool | is_shared () const |
Check if the object is shared. More... | |
int | nb_refs () const |
Gets the number of references that point to this object. More... | |
Protected Attributes | |
vec3 | picked_point_ |
vec2 | picked_ndc_ |
double | picked_depth_ |
Protected Attributes inherited from OGF::Tool | |
ToolsManager * | tools_manager_ |
Additional Inherited Members | |
Static Public Member Functions inherited from OGF::Object | |
static Object * | id_to_object (unsigned int id) |
Gets an object from a unique object id. More... | |
Static Public Member Functions inherited from GEO::Counted | |
static void | ref (const Counted *counted) |
Increments the reference count. More... | |
static void | unref (const Counted *counted) |
Decrements the reference count. More... | |
Public Attributes inherited from OGF::Tool | |
__pad0__: virtual void grab(const RayPick& value) | |
Public Attributes inherited from OGF::Node | |
__pad0__: Node* ith_child(index_t i) const { ogf_assert(i < get_nb_children()) | |
return | children_ [i] |
__pad1__: size_t get_nb_children() const { return children_.size() | |
Public Attributes inherited from OGF::Object | |
__pad0__: virtual index_t get_nb_elements() const | |
__pad1__: bool equals(const Object* other) const | |
Protected Member Functions inherited from OGF::Tool | |
void | set_tooltip (const std::string &text) |
Sets the tooltip to be displayed under the mouse. More... | |
void | reset_tooltip () |
Removes a tooltip previously created by set_tooltip() | |
Protected Member Functions inherited from OGF::Node | |
void | swap_children (Node *n1, Node *n2) |
Swaps two children by indices. More... | |
Protected Member Functions inherited from OGF::Object | |
virtual bool | emit_signal (const std::string &signal_name, const ArgList &args, bool called_from_slot=false) |
Emits a signal and calls the slots it is connected to. More... | |
Protected Member Functions inherited from GEO::Counted | |
Counted () | |
Creates a reference counted object. More... | |
virtual | ~Counted () |
Destroys a reference counted object. More... | |
Base class for tools that operate on MeshGrob.
Definition at line 61 of file mesh_grob_tool.h.
OGF::MeshGrobTool::MeshGrobTool | ( | ToolsManager * | parent | ) |
MeshGrobTool constructor.
[in] | parent | the ToolsManager this MeshGrobTool belongs to |
Gets the 3D coordinate of a point dragged from the latest picked point to the actual mouse position in a direction parallel to the screen.
[in] | rp | a RayPick as returned by RenderArea events |
|
inline |
Gets the MeshGrob this MeshGrobTool operates on.
Definition at line 79 of file mesh_grob_tool.h.
index_t OGF::MeshGrobTool::pick | ( | const RayPick & | rp, |
MeshElementsFlags | what, | ||
Image * | image = nullptr , |
||
index_t | x0 = 0 , |
||
index_t | y0 = 0 , |
||
index_t | width = 0 , |
||
index_t | height = 0 |
||
) |
Picks an element of the mesh.
The picked point, depth and normalized device coordinates can then be queried by using picked_point(), picked_depth(), picked_ndc() respectively.
[in] | rp | a RayPick as returned by RenderArea events |
[in] | what | one of (MESH_VERTICES, MESH_EDGES, MESH_FACETS, MESH_CELLS). It is also possible to use a bitwise-or combination of them (but then it is no longer possible to know what element type was picked). |
[in] | image | a pointer to an optional image to get the picking framebuffer (can be used by selection tools). The image is supposed to be uninitialized. The function allocates it to the correct size and reads the pixels from the picking buffer. |
[in] | x0,y0,width,height | optional image bounds. If let unspecified, the entire picking buffer is copied. |
Picks a cell.
The picked point, depth and normalized device coordinates can then be queried by using picked_point(), picked_depth(), picked_ndc() respectively.
[in] | rp | a RayPick as returned by RenderArea events |
Picks a edge.
Edges are the ones that are explicitly stored in the mesh. To pick an edge of a facet, use pick_facet_edge() instead. The picked point, depth and normalized device coordinates can then be queried by using picked_point(), picked_depth(), picked_ndc() respectively.
[in] | rp | a RayPick as returned by RenderArea events |
Picks a facet.
The picked point, depth and normalized device coordinates can then be queried by using picked_point(), picked_depth(), picked_ndc() respectively.
[in] | rp | a RayPick as returned by RenderArea events |
Picks an edge of a facet.
The picked point, depth and normalized device coordinates can then be queried by using picked_point(), picked_depth(), picked_ndc() respectively.
[in] | rp | a RayPick as returned by RenderArea events |
[out] | facet | the picked facet |
[out] | corner | the first facet corner of the picked edge |
true | if a facet edge was picked |
false | otherwise |
Picks a vertex.
The picked point, depth and normalized device coordinates can then be queried by using picked_point(), picked_depth(), picked_ndc() respectively.
[in] | rp | a RayPick as returned by RenderArea events |
|
inline |
Gets the depth of the picked point.
Definition at line 203 of file mesh_grob_tool.h.
|
inline |
Gets the picked point in normalized device coordinates.
Definition at line 194 of file mesh_grob_tool.h.
|
inline |
Gets the picked point in world coordinates.
Definition at line 184 of file mesh_grob_tool.h.