Home | Download | Screen shots | Discussion | Documentation |
---|
Abstract base class for child nodes. More...
#include <openvrml/node.h>
Public Member Functions | |
virtual | ~child_node ()=0 throw () |
Destructor. | |
void | relocate () throw ( std::bad_alloc ) |
Called when the node is relocated to a new position in the scene graph. | |
void | render_child (viewer &v, rendering_context context) |
Render the node. | |
Protected Member Functions | |
child_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope) throw () | |
Constructor. | |
Private Member Functions | |
virtual child_node * | to_child () throw () |
Cast to a child_node . | |
virtual void | do_relocate () throw ( std::bad_alloc ) |
child_node subclass-specific relocation update. | |
virtual void | do_render_child (viewer &v, rendering_context context) |
render_child implementation. |
Abstract base class for child nodes.
openvrml::child_node::~child_node | ( | ) | throw () [pure virtual] |
Destructor.
openvrml::child_node::child_node | ( | const node_type & | type, |
const boost::shared_ptr< openvrml::scope > & | scope | ||
) | throw () [protected] |
Constructor.
[in] | type | the node_type associated with the node. |
[in] | scope | the scope the node belongs to. |
void openvrml::child_node::relocate | ( | ) | throw ( std::bad_alloc ) |
Called when the node is relocated to a new position in the scene graph.
This function delegates to the virtual function do_relocate
. relocate
should be called by eventIn handlers that receive nodes.
std::bad_alloc | if memory allocation fails. |
void openvrml::child_node::render_child | ( | viewer & | v, |
rendering_context | context | ||
) |
Render the node.
This function delegates to do_render_child
.
[in,out] | v | viewer implementation responsible for actually doing the drawing. |
[in] | context | generic context argument; holds things like the accumulated modelview transform. |
openvrml::child_node * openvrml::child_node::to_child | ( | ) | throw () [private, virtual] |
void openvrml::child_node::do_relocate | ( | ) | throw ( std::bad_alloc ) [private, virtual] |
child_node
subclass-specific relocation update.
This method is called by relocate
. Subclasses of child_node
should override this function for any subclass-specific updates that need to be performed following relocation of a child_node
to a new position in the scene graph (for example, updating a node_path
).
The default implementation of this method does nothing.
void openvrml::child_node::do_render_child | ( | viewer & | v, |
rendering_context | context | ||
) | [private, virtual] |
render_child
implementation.
Rendered child_nodes
should override this method.
[in,out] | v | viewer implementation responsible for actually doing the drawing. |
[in] | context | generic context argument; holds things like the accumulated modelview transform. |
Reimplemented in openvrml::script_node.