cgv
Loading...
Searching...
No Matches
cgv::base::node Class Reference

The node class keeps a pointer to its parent. More...

#include <node.h>

Inheritance diagram for cgv::base::node:
cgv::base::named cgv::base::base cgv::data::ref_counted cgv::reflect::self_reflection_tag cgv::app::gizmo cgv::app::overlay cgv::base::group cgv::gui::abst_view cgv::gui::button cgv::gui::help_menu_entry cgv::render::callback_drawable vr_emulator vr_test

Public Member Functions

 node (const std::string &name="")
 construct from name
 
node_ptr get_parent () const
 return the parent node
 
base_ptr get_root () const
 return the root node by traversing parents until no more parent is available
 
void set_parent (node_ptr _parent)
 set a new parent node
 
node_ptr get_node ()
 cast upward to node
 
const_node_ptr get_node_const ()
 cast upward to const node
 
std::string get_type_name () const
 overload to return the type name of this object
 
- Public Member Functions inherited from cgv::base::named
 named (const std::string &name="")
 construct from name
 
const std::string & get_name () const
 return the parent node
 
void set_name (const std::string &_name)
 set a new parent node
 
named_ptr get_named ()
 cast upward to named
 
const_named_ptr get_named_const ()
 cast upward to const named
 
- Public Member Functions inherited from cgv::base::base
virtual std::string get_default_options () const
 overload to provide default options for registration
 
std::string get_name_or_type_name () const
 determine name of instance by checking cgv::base::named interface and in failure fallback to get_type_name()
 
virtual void on_register ()
 overload to handle register events that is sent after the instance has been registered
 
virtual void unregister ()
 overload to handle unregistration of instances
 
virtual bool on_exit_request ()
 overload to handle the appication exit request, return true if exiting is allowed and false otherwise
 
virtual void stream_stats (std::ostream &)
 overload to show the content of this object
 
virtual data::ref_ptr< group, trueget_group ()
 perform downcast to group
 
virtual data::ref_ptr< const named, trueget_named_const () const
 perform downcast to const named
 
virtual data::ref_ptr< const node, trueget_node_const () const
 perform downcast to const node
 
virtual data::ref_ptr< const group, trueget_group_const () const
 perform downcast to const group
 
template<class T >
data::ref_ptr< T, truecast ()
 cast to arbitrary class, but use the casts to named, node and group from the interface
 
template<class T >
data::ref_ptr< const T, truecast_const ()
 const cast to arbitrary class, but use the casts to named, node and group from the interface
 
template<class T >
Tget_interface ()
 use dynamic type cast to check for the given interface
 
template<class T >
const Tget_const_interface () const
 use dynamic type cast to check for the given interface
 
virtual void update ()
 this virtual update allows for example to ask a view to update the viewed value. The default implementation is empty.
 
virtual voidget_user_data () const
 this virtual method allows to pass application specific data for internal purposes
 
virtual bool self_reflect (cgv::reflect::reflection_handler &)
 used for simple self reflection
 
virtual std::string get_property_declarations ()
 return a semicolon separated list of property declarations
 
virtual bool set_void (const std::string &property, const std::string &value_type, const void *value_ptr)
 abstract interface for the setter of a dynamic property.
 
virtual void on_set (void *member_ptr)
 this callback is called when the set_void method has changed a member and can be overloaded in derived class
 
virtual bool get_void (const std::string &property, const std::string &value_type, void *value_ptr)
 abstract interface for the getter of a dynamic property.
 
virtual bool call_void (const std::string &method, const std::vector< std::string > &param_value_types, const std::vector< const void * > &param_value_ptrs, const std::string &result_type="", void *result_value_ptr=0)
 abstract interface to call an action
 
void set (const std::string &property, const char *value)
 specialization of set method to support const char* as strings
 
template<typename T >
void set (const std::string &property, const T &value)
 set a property of the element to the given value and perform standard conversions if necessary.
 
template<typename T >
T get (const std::string &property)
 query a property of the element and perform standard conversions if necessary.
 
void multi_set (const std::string &property_assignments, bool report_error=true)
 set several properties
 
bool is_property (const std::string &property_name, std::string *type_name=0)
 check if the given name specifies a property.
 
voidfind_member_ptr (const std::string &property_name, std::string *type_name=0)
 find a member pointer by name.
 
- Public Member Functions inherited from cgv::data::ref_counted
int get_ref_count () const
 read access to current count
 

Protected Attributes

node_ptr parent
 store a pointer to the parent node
 
- Protected Attributes inherited from cgv::base::named
std::string name
 store the name as a string
 

Friends

class data::ref_ptr< node, true >
 declare node_ptr to be a friend class
 

Additional Inherited Members

- Protected Member Functions inherited from cgv::base::base
virtual ~base ()
 make destructor virtual and not accessible from outside
 
- Protected Member Functions inherited from cgv::data::ref_counted
 ref_counted ()
 constructor initializes the count to 0
 
void set_ref_count (int c) const
 write access is also const to allow ref counted pointers to const instances
 
- Static Protected Member Functions inherited from cgv::base::base
template<class T >
static data::ref_ptr< T, truecast_dynamic (base *b)
 use dynamic cast for upcast to given class
 

Detailed Description

The node class keeps a pointer to its parent.

Definition at line 18 of file node.h.

Constructor & Destructor Documentation

◆ node()

cgv::base::node::node ( const std::string &  name = "")

construct from name

Definition at line 6 of file node.cxx.

Member Function Documentation

◆ get_node()

node_ptr cgv::base::node::get_node ( )
virtual

cast upward to node

Reimplemented from cgv::base::base.

Definition at line 30 of file node.cxx.

◆ get_node_const()

const_node_ptr cgv::base::node::get_node_const ( )

cast upward to const node

Definition at line 34 of file node.cxx.

◆ get_parent()

node_ptr cgv::base::node::get_parent ( ) const

return the parent node

Definition at line 9 of file node.cxx.

References parent.

Referenced by cgv::base::grab_focus().

◆ get_root()

base_ptr cgv::base::node::get_root ( ) const

return the root node by traversing parents until no more parent is available

Definition at line 13 of file node.cxx.

◆ get_type_name()

std::string cgv::base::node::get_type_name ( ) const
virtual

overload to return the type name of this object

Reimplemented from cgv::base::named.

Reimplemented in cgv::gui::button, cgv::gui::gui_group, cgv::gui::key_control< T >, cgv::gui::key_control< bool >, cgv::gui::window, and vr_emulator.

Definition at line 38 of file node.cxx.

◆ set_parent()

void cgv::base::node::set_parent ( node_ptr  _parent)

set a new parent node

Definition at line 26 of file node.cxx.

References parent.

Friends And Related Symbol Documentation

◆ data::ref_ptr< node, true >

declare node_ptr to be a friend class

Definition at line 18 of file node.h.

Member Data Documentation

◆ parent

node_ptr cgv::base::node::parent
protected

store a pointer to the parent node

Definition at line 24 of file node.h.

Referenced by get_parent(), and set_parent().


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