|
Graphite Version 3
An experimental 3D geometry processing program
|
Base class for the tools. More...
#include <OGF/scene_graph_gfx/tools/tool.h>
Public Member Functions | |
| Tool (ToolsManager *mgr) | |
| Tool constructor. | |
| void | status (const std::string &value) |
| Outputs a message in the status bar. | |
| SceneGraph * | scene_graph () |
| Gets the SceneGraph. | |
| virtual void | drag (const RayPick &value) |
| The event handler for mouse drag events. | |
| virtual void | release (const RayPick &value) |
| The event handler for mouse release events. | |
| virtual void | reset () |
| Resets this Tool. | |
| virtual void | configure () |
| Configures this Tool. | |
| ToolsManager * | tools_manager () const |
| Gets the ToolsManager. | |
| const mat4 & | focus () const |
| Gets the current focus matrix. | |
| RenderingContext * | rendering_context () const |
| Gets the RenderingContext. | |
| Grob * | object () const |
| Gets the current object. | |
| vec2 | project_point (vec3 p) const |
| Computes screen-coordinates of a 3D point. | |
| vec2 | ndc_to_dc (vec2 p) const |
| Converts normalized device coordinates to device coordinates. | |
Public Member Functions inherited from OGF::Node | |
| Node (Node *parent=nullptr) | |
| Node constructor. | |
| ~Node () override | |
| Node destructor. | |
| virtual void | add_child (Node *child) |
| Adds a child to this Node. | |
| 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. | |
Public Member Functions inherited from OGF::Object | |
| Object (bool transient=false) | |
| Object constructor. | |
| ~Object () override | |
| Object destructor. | |
| virtual MetaClass * | meta_class () const |
| Gets the meta class. | |
| virtual void | set_meta_class (MetaClass *mclass) |
| Sets the meta class. | |
| Numeric::uint32 | id () const |
| Gets the identifier of this object. | |
| std::string | string_id () const |
| Gets the unique string identifier. | |
| bool | has_method (const std::string &method_name) const |
| Tests whether a method is defined. | |
| 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. | |
| bool | invoke_method (const std::string &method_name, const ArgList &args) |
| Invokes a method by method name and argument list. | |
| bool | invoke_method (const std::string &method_name) |
| Invokes a method by method name. | |
| bool | has_property (const std::string &prop_name) const |
| Tests whether a property is defined. | |
| virtual bool | get_property (const std::string &prop_name, std::string &prop_value) const |
| Gets a property. | |
| 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. | |
| virtual void | add_connection (Connection *connection) |
| Adds a connection to this object. | |
| virtual void | remove_connection (Connection *connection) |
| Removes a connection to this object. | |
| virtual void | get_element (index_t i, Any &value) const |
| Gets an element by index. | |
| virtual void | set_element (index_t i, const Any &value) |
| Sets an element by index. | |
| void | get_element (index_t item, index_t component, Any &value) const |
| Gets an element by item and component. | |
| void | set_element (index_t item, index_t component, const Any &value) |
| Sets an element by item and component. | |
| virtual void | search (const std::string &needle, const std::string &path="") |
| Displays the names of all objects that contain a substring. | |
| virtual index_t | get_dimension () const |
| Gets the number of elements per item. | |
| bool | get_signals_enabled () const |
| Tests wheter signals are enabled. | |
| void | set_signals_enabled (bool value) |
| Enables or disables signals. | |
| bool | get_slots_enabled () const |
| Tests wheter slots are enabled. | |
| void | set_slots_enabled (bool value) |
| Enables or disables slots. | |
| MetaClass * | get_meta_class () const |
| Gets the meta class. | |
| std::string | get_string_id () const |
| Gets the unique string identifier. | |
| virtual std::string | get_doc () const |
| Gets the documentation. | |
| virtual Sign | compare (const Object *other) const |
| Compares this object with another one. | |
| virtual bool | is_a (const MetaType *type) const |
| Tests whether this object inherits a given type. | |
| void | disconnect () |
| Removes all connections from signals of this objects. | |
| 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. | |
| virtual bool | set_property (const std::string &name, const std::string &value) |
| Sets an individual property. | |
| void | help () const |
| Displays some help about this object. | |
| virtual bool | set_property (const std::string &name, const Any &value) |
| Sets an individual property. | |
| virtual bool | get_property (const std::string &prop_name, Any &prop_value) const |
| Gets a property. | |
Public Member Functions inherited from GEO::Counted | |
| void | ref () const |
| Increments the reference count. | |
| void | unref () const |
| Decrements the reference count. | |
| bool | is_shared () const |
| Check if the object is shared. | |
| int | nb_refs () const |
| Gets the number of references that point to this object. | |
Public Attributes | |
| : virtual void grab(const RayPick& value) | |
Public Attributes inherited from OGF::Node | |
| : Node* ith_child(index_t i) const { ogf_assert(i < get_nb_children()) | |
| return | children_ [i] |
| : size_t get_nb_children() const { return children_.size() | |
Public Attributes inherited from OGF::Object | |
| : virtual index_t get_nb_elements() const | |
| : bool equals(const Object* other) const | |
Protected Member Functions | |
| void | set_tooltip (const std::string &text) |
| Sets the tooltip to be displayed under the mouse. | |
| 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. | |
| void | move_child_to_top (Node *n) |
| Makes a child the first element in the list. | |
| void | move_child_to_bottom (Node *n) |
| Makes a child the last element in the list. | |
| void | set_ith_child (index_t i, Node *n) |
| Replaces a child. | |
Protected Member Functions inherited from OGF::Object | |
| virtual bool | set_property_and_record_to_history (const std::string &name, const Any &value, Interpreter *interpreter) |
| Sets an individual property and record modification to history. | |
| 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. | |
Protected Member Functions inherited from GEO::Counted | |
| Counted () | |
| Creates a reference counted object. | |
| virtual | ~Counted () |
| Destroys a reference counted object. | |
Protected Attributes | |
| 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. | |
Static Public Member Functions inherited from GEO::Counted | |
| static void | ref (const Counted *counted) |
| Increments the reference count. | |
| static void | unref (const Counted *counted) |
| Decrements the reference count. | |
Static Public Attributes inherited from OGF::Object | |
| static constexpr Numeric::uint32 | INVALID_ID = 0xbadbeef |
|
inline |
Tool constructor.
| [in] | mgr | a pointer to the ToolsManager |
|
virtual |
|
virtual |
The event handler for mouse drag events.
| [in] | value | a const reference to the picking event |
Reimplemented in OGF::MeshGrobCreateCenterVertex, OGF::MeshGrobPaintTool, OGF::MeshGrobPaintRect, OGF::MeshGrobPaint, OGF::MeshGrobPaintFreeform, OGF::MeshGrobProbe, OGF::MeshGrobRuler, OGF::MeshGrobSelectVertex, OGF::MeshGrobMoveSubset, OGF::MeshGrobResizeSubset, OGF::MeshGrobRotateSubset, OGF::GrobFocus, OGF::GrobLight, OGF::GrobPan, and OGF::MultiTool.
| const mat4 & OGF::Tool::focus | ( | ) | const |
Gets the current focus matrix.
Used to have the same transform for picking and for rendering.
Converts normalized device coordinates to device coordinates.
used for instance to send a picked point (in normalized device coordinate) to the overlay (that uses device coordinates).
Computes screen-coordinates of a 3D point.
| [in] | p | the world-space coordinates of the point to be projected. |
Can be used for highlighting elements on the overlay. The 3D transform is the latest one used by the shader that displayed the Grob.
|
virtual |
The event handler for mouse release events.
| [in] | value | a const reference to the picking event |
Reimplemented in OGF::MeshGrobPaintTool, OGF::MeshGrobPaintRect, OGF::MeshGrobPaint, OGF::MeshGrobPaintFreeform, OGF::MeshGrobProbe, OGF::MeshGrobRuler, OGF::MeshGrobRotateSubset, OGF::MeshGrobTransformTool, OGF::GrobFocus, OGF::GrobLight, OGF::GrobPan, OGF::GrobSelect, and OGF::MultiTool.
| RenderingContext * OGF::Tool::rendering_context | ( | ) | const |
Gets the RenderingContext.
|
virtual |
Resets this Tool.
If this Tool has some state variables, this function can be overloaded in subclasses to reset it, for instance when the user changes the active Tool.
Reimplemented in OGF::MeshGrobGlueUnglueEdges, OGF::MeshGrobZipUnzipEdges, OGF::MeshGrobConnectEdges, OGF::MeshGrobConnectDisconnectEdges, OGF::MeshGrobCreateEdge, OGF::MeshGrobEditCenterVertex, OGF::MeshGrobRemoveIncidentFacets, OGF::MeshGrobSplitFacet, OGF::MeshGrobEditFacetEdge, OGF::MeshGrobPaintTool, OGF::MeshGrobSelectUnselectVertex, OGF::GrobFocus, OGF::GrobPan, and OGF::MultiTool.
| SceneGraph * OGF::Tool::scene_graph | ( | ) |
Gets the SceneGraph.
|
protected |
Sets the tooltip to be displayed under the mouse.
For multi-line text, use '\n' (with two backslashes).
| [in] | text | the text to be displayed. |
| void OGF::Tool::status | ( | const std::string & | value | ) |
Outputs a message in the status bar.
The call is routed to the SceneGraphToolsManager::status() function, that in turns fires the SceneGraphToolsManager::status_message() signal.
| [in] | value | the message to be displayed |
|
inline |
|
protected |