g4tools  5.4.0
Public Member Functions | List of all members
tools::sg::separator Class Reference
Inheritance diagram for tools::sg::separator:
Inheritance graph
[legend]
Collaboration diagram for tools::sg::separator:
Collaboration graph
[legend]

Public Member Functions

virtual void render (render_action &a_action)
 
virtual void pick (pick_action &a_action)
 
virtual void bbox (bbox_action &a_action)
 
virtual void event (event_action &a_action)
 
virtual void get_matrix (get_matrix_action &a_action)
 
virtual bool write (write_action &a_action)
 
virtual void is_visible (visible_action &a_action)
 
 separator ()
 
virtual ~separator ()
 
 separator (const separator &a_from)
 
separatoroperator= (const separator &a_from)
 
- Public Member Functions inherited from tools::sg::group
virtual void search (search_action &a_action)
 
 group ()
 
virtual ~group ()
 
 group (const group &a_from)
 
groupoperator= (const group &a_from)
 
void add (node *a_node)
 
void add_front (node *a_node)
 
void set (unsigned int a_index, node *a_node)
 
bool replace (const node *a_from, node *a_to, bool a_del)
 
void swap (unsigned int a_1, unsigned int a_2)
 
template<class T >
T * search () const
 
void * rsearch_from (const node *a_node, const std::string &a_class, bool a_inc_a_node=true) const
 
bool remove (const node *a_node)
 
bool remove_index (unsigned int a_index)
 
bool delete_from (const node *a_node, bool a_inc_a_node=true)
 
void transfer (group &a_from)
 
void transfer (std::vector< node * > &a_to)
 
void clear ()
 
void raw_clear ()
 
size_t size () const
 
bool empty () const
 
nodeoperator[] (size_t a_index) const
 
const std::vector< node * > & children () const
 
std::vector< node * > & children ()
 
bool insert (unsigned int a_index, node *a_new)
 
template<class T >
T * rsearch () const
 
bool position (const node *a_node, unsigned int &a_index) const
 
nodenode_at (unsigned int a_index) const
 
template<class T >
T * child (unsigned int a_index) const
 
- Public Member Functions inherited from tools::sg::node
virtual void * cast (const std::string &a_class) const
 
virtual const std::string & s_cls () const =0
 
virtual nodecopy () const =0
 
virtual unsigned int cls_version () const
 
virtual const desc_fieldsnode_desc_fields () const
 
virtual bool read (read_action &a_action)
 
virtual void protocol_one_fields (std::vector< field * > &a_fields) const
 
virtual bool draw_in_frame_buffer () const
 
virtual bool touched ()
 
virtual void reset_touched ()
 
 node ()
 
virtual ~node ()
 
void touch ()
 
fieldfield_from_desc (const field_desc &a_desc) const
 
void dump_field_descs (std::ostream &a_out) const
 
fieldfind_field_by_name (const std::string &a_name) const
 

Additional Inherited Members

- Protected Member Functions inherited from tools::sg::group
bool write_children (write_action &a_action)
 
- Protected Member Functions inherited from tools::sg::node
 node (const node &)
 
nodeoperator= (const node &)
 
void add_field (field *a_field)
 
bool write_fields (write_action &a_action)
 
bool read_fields (read_action &a_action)
 
field_desc::offset_t field_offset (const field *a_field) const
 
fieldfind_field (const field_desc &a_rdesc) const
 
void check_fields (std::ostream &a_out) const
 
- Protected Attributes inherited from tools::sg::group
std::vector< node * > m_children
 

Detailed Description

Definition at line 15 of file separator.

Constructor & Destructor Documentation

◆ separator() [1/2]

tools::sg::separator::separator ( )
inline

Definition at line 74 of file separator.

74  :parent(){
75 #ifdef TOOLS_MEM
76  mem::increment(s_class().c_str());
77 #endif
78  }

◆ ~separator()

virtual tools::sg::separator::~separator ( )
inlinevirtual

Definition at line 79 of file separator.

79  {
80 #ifdef TOOLS_MEM
81  mem::decrement(s_class().c_str());
82 #endif
83  }

◆ separator() [2/2]

tools::sg::separator::separator ( const separator a_from)
inline

Definition at line 85 of file separator.

85  :parent(a_from){
86 #ifdef TOOLS_MEM
87  mem::increment(s_class().c_str());
88 #endif
89  }

Member Function Documentation

◆ bbox()

virtual void tools::sg::separator::bbox ( bbox_action a_action)
inlinevirtual

Reimplemented from tools::sg::group.

Definition at line 38 of file separator.

38  {
39  a_action.push_matrices();
40  a_action.push_state();
41  parent::bbox(a_action);
42  a_action.pop_matrices();
43  a_action.pop_state();
44  }

◆ event()

virtual void tools::sg::separator::event ( event_action a_action)
inlinevirtual

Reimplemented from tools::sg::group.

Definition at line 45 of file separator.

45  {
46  a_action.push_matrices();
47  a_action.push_state();
48  parent::event(a_action);
49  a_action.pop_matrices();
50  a_action.pop_state();
51  }

◆ get_matrix()

virtual void tools::sg::separator::get_matrix ( get_matrix_action a_action)
inlinevirtual

Reimplemented from tools::sg::group.

Definition at line 52 of file separator.

52  {
53  a_action.push_matrices();
54  a_action.push_state();
55  parent::get_matrix(a_action);
56  a_action.pop_matrices();
57  a_action.pop_state();
58  }

◆ is_visible()

virtual void tools::sg::separator::is_visible ( visible_action a_action)
inlinevirtual

Reimplemented from tools::sg::group.

Definition at line 66 of file separator.

66  {
67  a_action.push_matrices();
68  a_action.push_state();
69  parent::is_visible(a_action);
70  a_action.pop_matrices();
71  a_action.pop_state();
72  }

◆ operator=()

separator& tools::sg::separator::operator= ( const separator a_from)
inline

Definition at line 90 of file separator.

90  {
91  parent::operator=(a_from);
92  return *this;
93  }

◆ pick()

virtual void tools::sg::separator::pick ( pick_action a_action)
inlinevirtual

Reimplemented from tools::sg::group.

Definition at line 31 of file separator.

31  {
32  a_action.push_matrices();
33  a_action.push_state();
34  parent::pick(a_action);
35  a_action.pop_matrices();
36  a_action.pop_state();
37  }

◆ render()

virtual void tools::sg::separator::render ( render_action a_action)
inlinevirtual

Reimplemented from tools::sg::group.

Definition at line 18 of file separator.

18  {
19  a_action.push_matrices();
20  a_action.push_state();
21 
22  parent::render(a_action);
23 
24  unsigned int ret_num_light = a_action.state().m_light;
25 
26  a_action.pop_matrices();
27  a_action.pop_state();
28 
29  a_action.restore_state(ret_num_light);
30  }

◆ write()

virtual bool tools::sg::separator::write ( write_action a_action)
inlinevirtual

Reimplemented from tools::sg::group.

Definition at line 59 of file separator.

59  {
60  if(!a_action.beg_node(*this)) return false;
61  if(!write_fields(a_action)) return false;
62  if(!write_children(a_action)) return false;
63  if(!a_action.end_node(*this)) return false;
64  return true;
65  }

The documentation for this class was generated from the following file:
tools::sg::node::write_fields
bool write_fields(write_action &a_action)
Definition: node:132
tools::sg::group::write_children
bool write_children(write_action &a_action)
Definition: group:311