|
Graphite Version 3
An experimental 3D geometry processing program
|
Manages the Tool objects associated with a given Grob class. More...
#include <OGF/scene_graph_gfx/tools/tools_manager.h>
Public Member Functions | |
| ToolsManager (SceneGraphToolsManager *mgr, const std::string &grob_class_name, RenderingContext *context) | |
| ToolsManager constructor. | |
| ~ToolsManager () override | |
| ToolsManager destructor. | |
| void | activate (Grob *grob) |
| Notifies this ToolsManager that the current Grob of the SceneGraph changed. | |
| void | deactivate () |
| Notifies this ToolsManager that the current Grob of the SceneGraph is no longer of the class that it is connected to. | |
| void | set_grob (Grob *grob) |
| Sets the current Grob. | |
| const std::string & | grob_class_name () |
| Gets the Grob class name associated with this ToolsManager. | |
| Grob * | object () const |
| Gets the current Grob. | |
| RenderingContext * | rendering_context () const |
| Gets the RenderingContext. | |
| void | set_rendering_context (RenderingContext *rc) |
| Sets the RenderingContext. | |
| void | grab (const RayPick &ray) |
| Routes a mouse pick event to the current tool. | |
| void | drag (const RayPick &ray) |
| Routes a mouse drag event to the current tool. | |
| void | release (const RayPick &ray) |
| Routes a mouse release event to the current tool. | |
| SceneGraphToolsManager * | manager () const |
| Gets the SceneGraphToolsManager. | |
| Tool * | current_tool () |
| Gets the current Tool. | |
| void | status (const std::string &value) |
| Displays a status message. | |
| void | configure_tool (const std::string &value) |
| Open a dialog to edit the properties of a Tool. | |
| Tool * | resolve_tool (const std::string &tool_class_name) |
| Finds a Tool by its class name. | |
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 | |
| : void set_tool(const std::string& 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 | |
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 |
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. | |
Manages the Tool objects associated with a given Grob class.
Definition at line 62 of file tools_manager.h.
| OGF::ToolsManager::ToolsManager | ( | SceneGraphToolsManager * | mgr, |
| const std::string & | grob_class_name, | ||
| RenderingContext * | context | ||
| ) |
ToolsManager constructor.
| [in] | mgr | a pointer to the SceneGraphToolsManager |
| [in] | grob_class_name | the Grob class name as a string, with the "OGF::" prefix |
| [in] | context | a pointer to the RenderingContext associated with the main OpenGL window |
| void OGF::ToolsManager::activate | ( | Grob * | grob | ) |
Notifies this ToolsManager that the current Grob of the SceneGraph changed.
This shows the buttons to select the Tool objects associated with the grob class that this ToolsManager is connected to.
| [in] | grob | a pointer to the new current Grob |
| void OGF::ToolsManager::configure_tool | ( | const std::string & | value | ) |
|
inline |
Gets the current Tool.
Definition at line 174 of file tools_manager.h.
| void OGF::ToolsManager::deactivate | ( | ) |
Notifies this ToolsManager that the current Grob of the SceneGraph is no longer of the class that it is connected to.
This hides the buttons used to select the Tools objects associated with the grob class that this ToolsManager is connected to.
| void OGF::ToolsManager::drag | ( | const RayPick & | ray | ) |
Routes a mouse drag event to the current tool.
| [in] | ray | a const reference to the picking event |
| void OGF::ToolsManager::grab | ( | const RayPick & | ray | ) |
Routes a mouse pick event to the current tool.
| [in] | ray | a const reference to the picking event |
|
inline |
Gets the Grob class name associated with this ToolsManager.
Definition at line 118 of file tools_manager.h.
|
inline |
Gets the SceneGraphToolsManager.
Definition at line 166 of file tools_manager.h.
|
inline |
Gets the current Grob.
Definition at line 126 of file tools_manager.h.
| void OGF::ToolsManager::release | ( | const RayPick & | ray | ) |
Routes a mouse release event to the current tool.
| [in] | ray | a const reference to the picking event |
| RenderingContext * OGF::ToolsManager::rendering_context | ( | ) | const |
Gets the RenderingContext.
| Tool * OGF::ToolsManager::resolve_tool | ( | const std::string & | tool_class_name | ) |
Finds a Tool by its class name.
The first time the function is called, the Tool is created and stored in a std::map. It is retreived by subsequent calls to the function.
| [in] | tool_class_name | the class name of the Tool to be found as a string, with the "OGF::" prefix |
| void OGF::ToolsManager::set_grob | ( | Grob * | grob | ) |
Sets the current Grob.
The ToolsManager is supposed to be already activated, and the specified Grob is supposed to be of the class managed by this ToolsManager.
| [in] | grob | a pointer to the current Grob. \TODO More information needed here. When and where is this function used? |
|
inline |
Sets the RenderingContext.
| [in] | rc | a pointer to the RenderingContext |
Definition at line 140 of file tools_manager.h.
| void OGF::ToolsManager::status | ( | const std::string & | value | ) |
Displays a status message.
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 |
| OGF::ToolsManager::__pad0__ |
Definition at line 185 of file tools_manager.h.