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

Manages the tools for the entire SceneGraph. More...

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

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

Public Member Functions

 SceneGraphToolsManager (Node *renderer)
 SceneGraphToolsManager constructor. More...
 
 ~SceneGraphToolsManager () override
 SceneGraphToolsManager destructor.
 
SceneGraphscene_graph ()
 Gets the SceneGraph. More...
 
void current_object (const std::string &value)
 Notify this SceneGraphToolsManager that the current object changed. More...
 
void tool (const std::string &value)
 Changes the current tool. More...
 
void grab (const RayPick &value)
 Called when a mouse button is pressed. More...
 
void drag (const RayPick &value)
 Called when the mouse is dragged with a button pressed. More...
 
void release (const RayPick &value)
 Called when a mouse button is released. More...
 
Toolcurrent () const
 Gets the current Tool. More...
 
ToolsManagercurrent_tools_manager () const
 Gets the current ToolsManager. More...
 
void tool_icon_changed (const std::string &value)
 A signal that is triggered each time the current tool changes, to update the tool icon in the status bar. More...
 
const mat4get_focus () const
 Gets the focus matrix. More...
 
Noderenderer () const
 Gets the renderer. More...
 
void set_rendering_context (OGF::RenderingContext *rendering_context)
 Sets the RenderingContext. More...
 
RenderingContextrendering_context ()
 Gets the RenderingContext. More...
 
void status (const std::string &value)
 Triggers the status_message() signal. 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...
 

Static Public Member Functions

static SceneGraphToolsManagerinstance ()
 Gets the instance. More...
 
- 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...
 

Public Attributes

 __pad0__: void focus(const mat4& value)
 
gom_signals __pad1__: void status_message(const std::string& value)
 
 __pad2__: void update_tool_icon(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
 

Protected Member Functions

ToolsManagerresolve_tools_manager (const std::string &grob_class_name)
 Finds a ToolManager by Grob class name. More...
 
void create_gui ()
 Creates the GUI for the tools.
 
- 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 tools for the entire SceneGraph.

Definition at line 61 of file scene_graph_tools_manager.h.

Constructor & Destructor Documentation

◆ SceneGraphToolsManager()

OGF::SceneGraphToolsManager::SceneGraphToolsManager ( Node renderer)

SceneGraphToolsManager constructor.

Parameters
[in]renderera pointer to the renderer.

Member Function Documentation

◆ current()

Tool* OGF::SceneGraphToolsManager::current ( ) const

Gets the current Tool.

Returns
a pointer to the current Tool

◆ current_object()

void OGF::SceneGraphToolsManager::current_object ( const std::string &  value)

Notify this SceneGraphToolsManager that the current object changed.

Parameters
[in]valuename of the new current object

◆ current_tools_manager()

ToolsManager* OGF::SceneGraphToolsManager::current_tools_manager ( ) const

Gets the current ToolsManager.

Returns
a pointer to the current ToolsManager (associated with the class of the current object)

◆ drag()

void OGF::SceneGraphToolsManager::drag ( const RayPick value)

Called when the mouse is dragged with a button pressed.

Parameters
[in]valuethe RayPick generated by the RayPicker from the mouse event

◆ get_focus()

const mat4& OGF::SceneGraphToolsManager::get_focus ( ) const
inline

Gets the focus matrix.

Returns
the focus matrix

Definition at line 175 of file scene_graph_tools_manager.h.

◆ grab()

void OGF::SceneGraphToolsManager::grab ( const RayPick value)

Called when a mouse button is pressed.

Parameters
[in]valuethe RayPick generated by the RayPicker from the mouse event

◆ instance()

static SceneGraphToolsManager* OGF::SceneGraphToolsManager::instance ( )
inlinestatic

Gets the instance.

Returns
a pointer to the SceneGraphToolsManager instance

Definition at line 79 of file scene_graph_tools_manager.h.

◆ release()

void OGF::SceneGraphToolsManager::release ( const RayPick value)

Called when a mouse button is released.

Parameters
[in]valuethe RayPick generated by the RayPicker from the mouse event

◆ renderer()

Node* OGF::SceneGraphToolsManager::renderer ( ) const
inline

Gets the renderer.

Returns
a pointer to the rendering window

Definition at line 183 of file scene_graph_tools_manager.h.

◆ rendering_context()

RenderingContext* OGF::SceneGraphToolsManager::rendering_context ( )

Gets the RenderingContext.

Returns
a pointer to the RenderingContext

◆ resolve_tools_manager()

ToolsManager* OGF::SceneGraphToolsManager::resolve_tools_manager ( const std::string &  grob_class_name)
protected

Finds a ToolManager by Grob class name.

Parameters
[in]grob_class_namethe Grob class name as a string, with the "OGF::" prefix
Returns
a pointer to the ToolsManager

◆ scene_graph()

SceneGraph* OGF::SceneGraphToolsManager::scene_graph ( )
inline

Gets the SceneGraph.

Returns
a pointer to the SceneGraph.

Definition at line 87 of file scene_graph_tools_manager.h.

◆ set_rendering_context()

void OGF::SceneGraphToolsManager::set_rendering_context ( OGF::RenderingContext rendering_context)

Sets the RenderingContext.

Parameters
[in]rendering_contexta pointer to the RenderingContext

◆ status()

void OGF::SceneGraphToolsManager::status ( const std::string &  value)
inline

Triggers the status_message() signal.

Parameters
[in]valuethe message to be displayed

Definition at line 205 of file scene_graph_tools_manager.h.

◆ tool()

void OGF::SceneGraphToolsManager::tool ( const std::string &  value)

Changes the current tool.

Parameters
[in]valuethe class name of the tool, with "OGF::" prefix

◆ tool_icon_changed()

void OGF::SceneGraphToolsManager::tool_icon_changed ( const std::string &  value)

A signal that is triggered each time the current tool changes, to update the tool icon in the status bar.

Parameters
[in]valuethe name of the tool icon, relative to lib/icons/tools

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