g4tools  5.4.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
tools::sg::nodekit Class Referenceabstract
Inheritance diagram for tools::sg::nodekit:
Inheritance graph
[legend]
Collaboration diagram for tools::sg::nodekit:
Collaboration graph
[legend]

Public Member Functions

virtual void update_sg (std::ostream &)=0
 
virtual void render (render_action &a_action)
 
virtual void search (search_action &a_action)
 
virtual void bbox (bbox_action &a_action)
 
 nodekit ()
 
virtual ~nodekit ()
 
 nodekit (const nodekit &a_from)
 
nodekitoperator= (const nodekit &a_from)
 
- 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 void pick (pick_action &)
 
virtual void get_matrix (get_matrix_action &a_action)
 
virtual bool write (write_action &a_action)
 
virtual void event (event_action &)
 
virtual bool read (read_action &a_action)
 
virtual void is_visible (visible_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
 

Protected Member Functions

void update_if_touched (std::ostream &a_out)
 
- 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

group m_group
 

Detailed Description

Definition at line 41 of file nodekit.

Constructor & Destructor Documentation

◆ nodekit() [1/2]

tools::sg::nodekit::nodekit ( )
inline

Definition at line 72 of file nodekit.

73  :parent()
74  {}

◆ ~nodekit()

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

Definition at line 75 of file nodekit.

75 {}

◆ nodekit() [2/2]

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

Definition at line 77 of file nodekit.

78  :parent(a_from)
79  {}

Member Function Documentation

◆ bbox()

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

Reimplemented from tools::sg::node.

Definition at line 56 of file nodekit.

56  {
57  update_if_touched(a_action.out());
58  m_group.bbox(a_action);
59  }

◆ operator=()

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

Definition at line 80 of file nodekit.

80  {
81  parent::operator=(a_from);
82  return *this;
83  }

◆ render()

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

Reimplemented from tools::sg::node.

Definition at line 46 of file nodekit.

46  {
47  update_if_touched(a_action.out());
48  m_group.render(a_action);
49  }

◆ search()

virtual void tools::sg::nodekit::search ( search_action a_action)
inlinevirtual

Reimplemented from tools::sg::node.

Definition at line 50 of file nodekit.

50  {
51  update_if_touched(a_action.out());
52  parent::search(a_action);
53  if(a_action.done()) return;
54  m_group.search(a_action);
55  }

◆ update_if_touched()

void tools::sg::nodekit::update_if_touched ( std::ostream &  a_out)
inlineprotected

Definition at line 85 of file nodekit.

85  {
86  if(touched()) {
87  update_sg(a_out);
88  reset_touched();
89  }
90  }

◆ update_sg()

virtual void tools::sg::nodekit::update_sg ( std::ostream &  )
pure virtual

Member Data Documentation

◆ m_group

group tools::sg::nodekit::m_group
protected

Definition at line 92 of file nodekit.


The documentation for this class was generated from the following file:
tools::sg::group::search
virtual void search(search_action &a_action)
Definition: group:51
tools::sg::group::bbox
virtual void bbox(bbox_action &a_action)
Definition: group:42
tools::sg::group::render
virtual void render(render_action &a_action)
Definition: group:24
tools::sg::nodekit::m_group
group m_group
Definition: nodekit:92
tools::sg::nodekit::update_sg
virtual void update_sg(std::ostream &)=0
tools::sg::nodekit::update_if_touched
void update_if_touched(std::ostream &a_out)
Definition: nodekit:85
tools::sg::node::touched
virtual bool touched()
Definition: node:96
tools::sg::node::reset_touched
virtual void reset_touched()
Definition: node:102