Graphite  Version 3
An experimental 3D geometry processing program
OGF::ToolsManager Class Reference

Manages the Tool objects associated with a given Grob class. More...

#include <OGF/scene_graph_gfx/tools/tools_manager.h>

Inheritance diagram for OGF::ToolsManager:
OGF::Node OGF::Object GEO::Counted

Public Member Functions

 ToolsManager (SceneGraphToolsManager *mgr, const std::string &grob_class_name, RenderingContext *context)
 ToolsManager constructor. More...
 
 ~ToolsManager () override
 ToolsManager destructor.
 
void activate (Grob *grob)
 Notifies this ToolsManager that the current Grob of the SceneGraph changed. More...
 
void deactivate ()
 Notifies this ToolsManager that the current Grob of the SceneGraph is no longer of the class that it is connected to. More...
 
void set_grob (Grob *grob)
 Sets the current Grob. More...
 
const std::string & grob_class_name ()
 Gets the Grob class name associated with this ToolsManager. More...
 
Grobobject () const
 Gets the current Grob. More...
 
RenderingContextrendering_context () const
 Gets the RenderingContext. More...
 
void set_rendering_context (RenderingContext *rc)
 Sets the RenderingContext. More...
 
void grab (const RayPick &ray)
 Routes a mouse pick event to the current tool. More...
 
void drag (const RayPick &ray)
 Routes a mouse drag event to the current tool. More...
 
void release (const RayPick &ray)
 Routes a mouse release event to the current tool. More...
 
SceneGraphToolsManagermanager () const
 Gets the SceneGraphToolsManager. More...
 
Toolcurrent_tool ()
 Gets the current Tool. More...
 
void status (const std::string &value)
 Displays a status message. More...
 
void configure_tool (const std::string &value)
 Open a dialog to edit the properties of a Tool. More...
 
Toolresolve_tool (const std::string &tool_class_name)
 Finds a Tool by its class name. 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.
 
Nodeget_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 MetaClassmeta_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 Connectionconnect_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...
 
MetaClassget_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...
 

Public Attributes

 __pad0__: void set_tool(const std::string& 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
 

Additional Inherited Members

- Static Public Member Functions inherited from OGF::Object
static Objectid_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...
 
- 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...
 

Detailed Description

Manages the Tool objects associated with a given Grob class.

Definition at line 62 of file tools_manager.h.

Constructor & Destructor Documentation

◆ ToolsManager()

OGF::ToolsManager::ToolsManager ( SceneGraphToolsManager mgr,
const std::string &  grob_class_name,
RenderingContext context 
)

ToolsManager constructor.

Parameters
[in]mgra pointer to the SceneGraphToolsManager
[in]grob_class_namethe Grob class name as a string, with the "OGF::" prefix
[in]contexta pointer to the RenderingContext associated with the main OpenGL window

Member Function Documentation

◆ activate()

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.

Parameters
[in]groba pointer to the new current Grob

◆ configure_tool()

void OGF::ToolsManager::configure_tool ( const std::string &  value)

Open a dialog to edit the properties of a Tool.

Parameters
[in]valuethe class name of the Tool to be configured, as a string, with the "OGF::" prefix

◆ current_tool()

Tool* OGF::ToolsManager::current_tool ( )
inline

Gets the current Tool.

Returns
a pointer to the current Tool

Definition at line 174 of file tools_manager.h.

◆ deactivate()

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.

◆ drag()

void OGF::ToolsManager::drag ( const RayPick ray)

Routes a mouse drag event to the current tool.

Parameters
[in]raya const reference to the picking event

◆ grab()

void OGF::ToolsManager::grab ( const RayPick ray)

Routes a mouse pick event to the current tool.

Parameters
[in]raya const reference to the picking event

◆ grob_class_name()

const std::string& OGF::ToolsManager::grob_class_name ( )
inline

Gets the Grob class name associated with this ToolsManager.

Returns
the Grob class name, as a string, with the "OGF::" prefix

Definition at line 118 of file tools_manager.h.

◆ manager()

SceneGraphToolsManager* OGF::ToolsManager::manager ( ) const
inline

Gets the SceneGraphToolsManager.

Returns
a pointer to the SceneGraphToolsManager

Definition at line 166 of file tools_manager.h.

◆ object()

Grob* OGF::ToolsManager::object ( ) const
inline

Gets the current Grob.

Returns
a pointer to the current Grob.

Definition at line 126 of file tools_manager.h.

◆ release()

void OGF::ToolsManager::release ( const RayPick ray)

Routes a mouse release event to the current tool.

Parameters
[in]raya const reference to the picking event

◆ rendering_context()

RenderingContext* OGF::ToolsManager::rendering_context ( ) const

Gets the RenderingContext.

Returns
a pointer to the RenderingContext

◆ resolve_tool()

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.

Parameters
[in]tool_class_namethe class name of the Tool to be found as a string, with the "OGF::" prefix
Returns
A pointer to the Tool

◆ set_grob()

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.

Parameters
[in]groba pointer to the current Grob. \TODO More information needed here. When and where is this function used?

◆ set_rendering_context()

void OGF::ToolsManager::set_rendering_context ( RenderingContext rc)
inline

Sets the RenderingContext.

Parameters
[in]rca pointer to the RenderingContext

Definition at line 140 of file tools_manager.h.

◆ status()

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.

Parameters
[in]valuethe message to be displayed

The documentation for this class was generated from the following file: