Home | Download | Screen shots | Discussion | Documentation |
---|
Public Member Functions | |
virtual | ~node ()=0 throw () |
Destructor. | |
const node_type & | type () const throw () |
The type information object for the node. | |
const std::string & | id () const throw () |
Retrieve the name of this node. | |
void | id (const std::string &node_id) throw (std::bad_alloc) |
Set the name of the node. | |
const boost::shared_ptr< openvrml::scope > & | scope () const throw () |
Get the scope to which the node belongs. | |
openvrml::scene * | scene () const throw () |
Get the scene with which the node is associated. | |
std::ostream & | print (std::ostream &out, size_t indent) const |
Pretty print. | |
void | initialize (openvrml::scene &scene, double timestamp) throw (std::bad_alloc) |
Initialize the node. | |
const field_value & | field (const std::string &id) const throw (unsupported_interface) |
Generalized field accessor. | |
openvrml::event_listener & | event_listener (const std::string &id) throw (unsupported_interface) |
Get an event listener. | |
openvrml::event_emitter & | event_emitter (const std::string &id) throw (unsupported_interface) |
Get an event emitter. | |
void | shutdown (double timestamp) throw () |
Shut down the node. | |
virtual vrml97_node::anchor_node * | to_anchor () const |
Cast to an anchor_node. | |
virtual vrml97_node::audio_clip_node * | to_audio_clip () const |
Cast to an audio_clip_node. | |
virtual vrml97_node::cylinder_sensor_node * | to_cylinder_sensor () const |
Cast to a cylinder_sensor_node. | |
virtual vrml97_node::abstract_light_node * | to_light () const |
Cast to an abstract_light_node. | |
virtual vrml97_node::movie_texture_node * | to_movie_texture () const |
Cast to a movie_texture_node. | |
virtual vrml97_node::navigation_info_node * | to_navigation_info () const |
Cast to a navigation_info_node. | |
virtual vrml97_node::plane_sensor_node * | to_plane_sensor () const |
Cast to a plane_sensor_node. | |
virtual vrml97_node::point_light_node * | to_point_light () const |
Cast to a point_light_node. | |
virtual vrml97_node::sphere_sensor_node * | to_sphere_sensor () const |
Cast to a sphere_sensor_node. | |
virtual vrml97_node::spot_light_node * | to_spot_light () const |
Cast to a spot_light_node. | |
virtual vrml97_node::time_sensor_node * | to_time_sensor () const |
Cast to a time_sensor_node. | |
virtual vrml97_node::touch_sensor_node * | to_touch_sensor () const |
Cast to a touch_sensor_node. | |
virtual bool | modified () const |
Determine whether the node has been modified. | |
void | modified (bool value) |
Set the modified flag. | |
virtual void | bounding_volume (const openvrml::bounding_volume &v) |
virtual const openvrml::bounding_volume & | bounding_volume () const |
Get this node's bounding volume. | |
virtual void | bounding_volume_dirty (bool f) |
virtual bool | bounding_volume_dirty () const |
Protected Member Functions | |
node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope) throw () | |
Construct. | |
Static Protected Member Functions | |
static void | emit_event (openvrml::event_emitter &emitter, double timestamp) throw (std::bad_alloc) |
Emit an event. | |
Private Member Functions | |
virtual void | do_initialize (double timestamp) throw (std::bad_alloc) |
node subclass-specific initialization. | |
virtual const field_value & | do_field (const std::string &id) const =0 throw (unsupported_interface) |
Called by node::field to get a field. | |
virtual openvrml::event_listener & | do_event_listener (const std::string &id)=0 throw (unsupported_interface) |
Get an event listener. | |
virtual openvrml::event_emitter & | do_event_emitter (const std::string &id)=0 throw (unsupported_interface) |
Get an event emitter. | |
virtual void | do_shutdown (double timestamp) throw () |
node subclass-specific shut down. | |
virtual script_node * | to_script () throw () |
Cast to a script_node. | |
virtual appearance_node * | to_appearance () throw () |
Cast to an appearance_node. | |
virtual child_node * | to_child () throw () |
Cast to a child_node. | |
virtual color_node * | to_color () throw () |
Cast to a color_node. | |
virtual coordinate_node * | to_coordinate () throw () |
Cast to a coordinate_node. | |
virtual font_style_node * | to_font_style () throw () |
Cast to a font_style_node. | |
virtual geometry_node * | to_geometry () throw () |
Cast to a geometry_node. | |
virtual grouping_node * | to_grouping () throw () |
Cast to a grouping_node. | |
virtual material_node * | to_material () throw () |
Cast to a material_node. | |
virtual normal_node * | to_normal () throw () |
Cast to a normal_node. | |
virtual sound_source_node * | to_sound_source () throw () |
Cast to a sound_source_node. | |
virtual texture_node * | to_texture () throw () |
Cast to a texture_node. | |
virtual texture_coordinate_node * | to_texture_coordinate () throw () |
Cast to a texture_coordinate_node. | |
virtual texture_transform_node * | to_texture_transform () throw () |
Cast to a texture_transform_node. | |
virtual transform_node * | to_transform () throw () |
Cast to a transform_node. | |
virtual viewpoint_node * | to_viewpoint () throw () |
Cast to a viewpoint_node. | |
Private Attributes | |
const node_type & | type_ |
The type information object for the node. | |
boost::shared_ptr< openvrml::scope > | scope_ |
The scope to which the node belongs. | |
openvrml::scene * | scene_ |
The scene with which the node is associated. | |
bool | modified_ |
Indicate whether the node has been modified. | |
bool | bounding_volume_dirty_ |
Indicate whether the node's cached bounding volume needs updating. | |
Friends | |
class | exposedfield< sfbool > |
class | exposedfield< sfcolor > |
class | exposedfield< sffloat > |
class | exposedfield< sfimage > |
class | exposedfield< sfint32 > |
class | exposedfield< sfnode > |
class | exposedfield< sfrotation > |
class | exposedfield< sfstring > |
class | exposedfield< sftime > |
class | exposedfield< sfvec2f > |
class | exposedfield< sfvec3f > |
class | exposedfield< mfcolor > |
class | exposedfield< mffloat > |
class | exposedfield< mfint32 > |
class | exposedfield< mfnode > |
class | exposedfield< mfrotation > |
class | exposedfield< mfstring > |
class | exposedfield< mftime > |
class | exposedfield< mfvec2f > |
class | exposedfield< mfvec3f > |
std::ostream & | operator<< (std::ostream &out, const node &n) |
Stream output. | |
script_node * | node_cast (node *n) throw () |
Cast to a viewpoint_node . | |
appearance_node * | node_cast (node *n) throw () |
child_node * | node_cast (node *n) throw () |
color_node * | node_cast (node *n) throw () |
coordinate_node * | node_cast (node *n) throw () |
font_style_node * | node_cast (node *n) throw () |
geometry_node * | node_cast (node *n) throw () |
grouping_node * | node_cast (node *n) throw () |
material_node * | node_cast (node *n) throw () |
normal_node * | node_cast (node *n) throw () |
sound_source_node * | node_cast (node *n) throw () |
texture_node * | node_cast (node *n) throw () |
texture_coordinate_node * | node_cast (node *n) throw () |
texture_transform_node * | node_cast (node *n) throw () |
transform_node * | node_cast (node *n) throw () |
viewpoint_node * | node_cast (node *n) throw () |
|
Destructor. Remove node name (if any) from the scope. |
|
Construct.
|
|
The type information object for the node.
|
|
Retrieve the name of this node.
|
|
Set the name of the node.
|
|
Get the scope to which the node belongs.
|
|
Get the scene with which the node is associated.
|
|
Pretty print.
|
|
Initialize the node.
This method works recursively, initializing any child nodes to the same
|
|
Generalized field accessor.
|
|
Get an event listener.
|
|
Get an event emitter.
|
|
Shut down the node. This method works recursively, shutting down any child nodes. If the node has already been shut down, this method has no effect.
|
|
Cast to an anchor_node.
Reimplemented in openvrml::vrml97_node::anchor_node. |
|
Cast to an audio_clip_node.
Reimplemented in openvrml::vrml97_node::audio_clip_node. |
|
Cast to a cylinder_sensor_node.
Reimplemented in openvrml::vrml97_node::cylinder_sensor_node. |
|
Cast to an abstract_light_node.
Reimplemented in openvrml::vrml97_node::abstract_light_node. |
|
Cast to a movie_texture_node.
Reimplemented in openvrml::vrml97_node::movie_texture_node. |
|
Cast to a navigation_info_node.
Reimplemented in openvrml::vrml97_node::navigation_info_node. |
|
Cast to a plane_sensor_node.
Reimplemented in openvrml::vrml97_node::plane_sensor_node. |
|
Cast to a point_light_node.
Reimplemented in openvrml::vrml97_node::point_light_node. |
|
Cast to a sphere_sensor_node.
Reimplemented in openvrml::vrml97_node::sphere_sensor_node. |
|
Cast to a spot_light_node.
Reimplemented in openvrml::vrml97_node::spot_light_node. |
|
Cast to a time_sensor_node.
Reimplemented in openvrml::vrml97_node::time_sensor_node. |
|
Cast to a touch_sensor_node.
Reimplemented in openvrml::vrml97_node::touch_sensor_node. |
|
Determine whether the node has been modified.
The default implementation returns whether this node has been modified. Subclasses that can have child nodes should override this method and return
Reimplemented in openvrml::vrml97_node::abstract_indexed_set_node, openvrml::vrml97_node::group_node, openvrml::vrml97_node::appearance_node, openvrml::vrml97_node::collision_node, openvrml::vrml97_node::elevation_grid_node, openvrml::vrml97_node::indexed_face_set_node, openvrml::vrml97_node::lod_node, openvrml::vrml97_node::point_set_node, openvrml::vrml97_node::shape_node, openvrml::vrml97_node::switch_node, and openvrml::vrml97_node::text_node. |
|
Set the modified flag. Indicates the node needs to be revisited for rendering.
|
|
Override a node's calculated bounding volume. Not implemented.
|
|
Get this node's bounding volume. Nodes that have no bounding volume, or have a difficult to calculate bvolume (like, say, Extrusion or Billboard) can just return an infinite bsphere. Note that returning an infinite bvolume means that all the node's ancestors will also end up with an infinite bvolume, and will never be culled.
Reimplemented in openvrml::vrml97_node::group_node, openvrml::vrml97_node::anchor_node, openvrml::vrml97_node::box_node, openvrml::vrml97_node::indexed_face_set_node, openvrml::vrml97_node::lod_node, openvrml::vrml97_node::point_set_node, openvrml::vrml97_node::shape_node, openvrml::vrml97_node::sphere_node, openvrml::vrml97_node::switch_node, and openvrml::vrml97_node::transform_node. |
|
Indicate that a node's bounding volume needs to be recalculated (or not). If a node's bvolume is invalid, then the bvolumes of all that node's ancestors are also invalid. Normally, the node itself will determine when its bvolume needs updating. |
|
Return true if the node's bounding volume needs to be recalculated. |
|
Emit an event.
|
|
node subclass-specific initialization. This method is called by node::initialize. Subclasses of node should override this method for any subclass-specific initialization. The default implementation of this method does nothing.
Reimplemented in openvrml::script_node, openvrml::vrml97_node::audio_clip_node, openvrml::vrml97_node::background_node, openvrml::vrml97_node::fog_node, openvrml::vrml97_node::movie_texture_node, openvrml::vrml97_node::navigation_info_node, openvrml::vrml97_node::point_light_node, openvrml::vrml97_node::spot_light_node, openvrml::vrml97_node::text_node, openvrml::vrml97_node::time_sensor_node, and openvrml::vrml97_node::viewpoint_node. |
|
Called by node::field to get a field.
Implemented in openvrml::script_node, and openvrml::vrml97_node::abstract_base. |
|
Get an event listener. This method is called by node::event_listener. Subclasses must implement this method.
Implemented in openvrml::script_node, and openvrml::vrml97_node::abstract_base. |
|
Get an event emitter. This method is called by node::event_emitter. Subclasses must implement this method.
Implemented in openvrml::script_node, and openvrml::vrml97_node::abstract_base. |
|
node subclass-specific shut down.
Reimplemented in openvrml::script_node, openvrml::vrml97_node::audio_clip_node, openvrml::vrml97_node::background_node, openvrml::vrml97_node::fog_node, openvrml::vrml97_node::movie_texture_node, openvrml::vrml97_node::navigation_info_node, openvrml::vrml97_node::point_light_node, openvrml::vrml97_node::spot_light_node, openvrml::vrml97_node::text_node, openvrml::vrml97_node::time_sensor_node, and openvrml::vrml97_node::viewpoint_node. |
|
Cast to a script_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::script_node. |
|
Cast to an appearance_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::appearance_node. |
|
Cast to a child_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::child_node. |
|
Cast to a color_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::color_node. |
|
Cast to a coordinate_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::coordinate_node. |
|
Cast to a font_style_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::font_style_node. |
|
Cast to a geometry_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::geometry_node. |
|
Cast to a grouping_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::grouping_node. |
|
Cast to a material_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::material_node. |
|
Cast to a normal_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::normal_node. |
|
Cast to a sound_source_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::sound_source_node. |
|
Cast to a texture_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::texture_node. |
|
Cast to a texture_coordinate_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::texture_coordinate_node. |
|
Cast to a texture_transform_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::texture_transform_node. |
|
Cast to a transform_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::transform_node. |
|
Cast to a viewpoint_node.
For internal use only. Default implementation returns 0.
Reimplemented in openvrml::viewpoint_node. |
|
Stream output.
|
|
The type information object for the node.
For internal use only.
Reimplemented in openvrml::vrml97_node::navigation_info_node. |
|
The scope to which the node belongs.
For internal use only.
|
|
The scene with which the node is associated.
For internal use only.
|
|
Indicate whether the node has been modified.
For internal use only.
|
|
Indicate whether the node's cached bounding volume needs updating.
For internal use only.
|