|
inlib
1.2.0
|

Public Member Functions | |
| virtual void * | cast (const std::string &a_class) const |
| virtual node * | copy () const =0 |
| virtual const std::string & | s_cls () const =0 |
| virtual void | render (render_action &) |
| virtual void | pick (pick_action &) |
| virtual void | bbox (bbox_action &) |
| virtual void | search (search_action &a_action) |
| virtual bool | write (write_action &a_action) |
| virtual void | event (event_action &) |
| node () | |
| virtual | ~node () |
| void | reset_touched () |
| std::vector< field * > & | fields () |
| const std::vector< field * > & | fields () const |
Static Public Member Functions | |
| static const std::string & | s_class () |
Protected Member Functions | |
| node (const node &) | |
| node & | operator= (const node &) |
| void | add_field (field *a_field) |
| bool | touched () |
| bool | write_fields (write_action &a_action) |
| inlib::sg::node::node | ( | ) | [inline] |
| virtual inlib::sg::node::~node | ( | ) | [inline, virtual] |
| inlib::sg::node::node | ( | const node & | ) | [inline, protected] |
| void inlib::sg::node::add_field | ( | field * | a_field | ) | [inline, protected] |
| virtual void inlib::sg::node::bbox | ( | bbox_action & | ) | [inline, virtual] |
Reimplemented in inlib::sg::group, inlib::sg::_switch, and inlib::sg::noderef.
Definition at line 46 of file node.
{}
| virtual void* inlib::sg::node::cast | ( | const std::string & | a_class | ) | const [inline, virtual] |
Reimplemented in inlib::sg::base_camera, inlib::sg::ghost, inlib::sg::group, inlib::sg::holder< T >, inlib::sg::infos, and inlib::sg::noderef.
Definition at line 36 of file node.
{
if(void* p = inlib::cmp_cast<node>(this,a_class)) {return p;}
else return 0;
}
| virtual node* inlib::sg::node::copy | ( | ) | const [pure virtual] |
| virtual void inlib::sg::node::event | ( | event_action & | ) | [inline, virtual] |
Reimplemented in inlib::sg::_switch, inlib::sg::group, and inlib::sg::noderef.
Definition at line 59 of file node.
{}
| std::vector<field*>& inlib::sg::node::fields | ( | ) | [inline] |
| const std::vector<field*>& inlib::sg::node::fields | ( | ) | const [inline] |
| virtual void inlib::sg::node::pick | ( | pick_action & | ) | [inline, virtual] |
Reimplemented in inlib::sg::ghost, inlib::sg::group, inlib::sg::_switch, and inlib::sg::noderef.
Definition at line 45 of file node.
{}
| virtual void inlib::sg::node::render | ( | render_action & | ) | [inline, virtual] |
Reimplemented in inlib::sg::group, inlib::sg::noderef, and inlib::sg::_switch.
Definition at line 44 of file node.
{}
| void inlib::sg::node::reset_touched | ( | ) | [inline] |
| static const std::string& inlib::sg::node::s_class | ( | ) | [inline, static] |
Reimplemented in inlib::sg::base_camera, inlib::sg::ghost, inlib::sg::group, inlib::sg::holder< T >, inlib::sg::infos, and inlib::sg::noderef.
Definition at line 32 of file node.
{
static const std::string s_v("inlib::sg::node");
return s_v;
}
| virtual const std::string& inlib::sg::node::s_cls | ( | ) | const [pure virtual] |
| virtual void inlib::sg::node::search | ( | search_action & | a_action | ) | [inline, virtual] |
Reimplemented in inlib::sg::group, inlib::sg::_switch, and inlib::sg::noderef.
Definition at line 47 of file node.
{
if(void* p = cast(a_action.sclass())) {
a_action.add_obj(p);
//FIXME : if not ALL : a_action.set_done(true);
}
}
| bool inlib::sg::node::touched | ( | ) | [inline, protected] |
| virtual bool inlib::sg::node::write | ( | write_action & | a_action | ) | [inline, virtual] |
Reimplemented in inlib::sg::group, and inlib::sg::noderef.
Definition at line 53 of file node.
{
if(!a_action.beg_node(*this)) return false;
if(!write_fields(a_action)) return false;
if(!a_action.end_node(*this)) return false;
return true;
}
| bool inlib::sg::node::write_fields | ( | write_action & | a_action | ) | [inline, protected] |
Definition at line 89 of file node.
{
unsigned int index = 0;
std::vector<field*>::iterator it;
for(it=m_fields.begin();it!=m_fields.end();++it,index++) {
if(!(*it)->write(a_action.buffer())) {
a_action.out() << "inlib::sg::node::write_fields :"
<< " field.write() failed"
<< " for field index " << index
<< " of node class " << s_cls()
<< "."
<< std::endl;
return false;
}
}
return true;
}
1.7.5.1