openvrml::node_class Class Reference
A class object for node instances.
More...
Inheritance diagram for openvrml::node_class:
[legend]Collaboration diagram for openvrml::node_class:
[legend]List of all members.
Detailed Description
A class object for node instances.
node_class can be thought of as a "supertype" of sorts. A given node implementation can support as many node types as there are unique combinations of the interfaces it supports. The most readily apparent role of the node_class object for a node implementation is to serve as a factory for these node_types.
Constructor & Destructor Documentation
openvrml::node_class::node_class |
( |
openvrml::browser & |
b |
) |
throw () [explicit, protected] |
|
|
Constructor.
A node_class is constructed using a browser. All node instances that share a particular node_class "belong to" the browser associated with the node_class.
- Parameters:
-
b | the browser to be associated with the node_class. |
|
Member Function Documentation
|
Create a new node_type.
node_types can be said to subset the master type provided by the node_class. Each node_class instance can support certain node interfaces; the node_interface_set passed to createType must be a subset of those supported interfaces.
- Parameters:
-
- Returns:
- a node_type_ptr to the newly created node_type.
- Exceptions:
-
std::invalid_argument | if the node_class cannot support one of the node_interfaces in interfaces . |
std::bad_alloc | if memory allocation fails. |
Implemented in openvrml::script_node_class, openvrml::vrml97_node::group_class, openvrml::vrml97_node::anchor_class, openvrml::vrml97_node::appearance_class, openvrml::vrml97_node::audio_clip_class, openvrml::vrml97_node::background_class, openvrml::vrml97_node::billboard_class, openvrml::vrml97_node::box_class, openvrml::vrml97_node::collision_class, openvrml::vrml97_node::color_class, openvrml::vrml97_node::color_interpolator_class, openvrml::vrml97_node::cone_class, openvrml::vrml97_node::coordinate_class, openvrml::vrml97_node::coordinate_interpolator_class, openvrml::vrml97_node::cylinder_class, openvrml::vrml97_node::cylinder_sensor_class, openvrml::vrml97_node::directional_light_class, openvrml::vrml97_node::elevation_grid_class, openvrml::vrml97_node::extrusion_class, openvrml::vrml97_node::fog_class, openvrml::vrml97_node::font_style_class, openvrml::vrml97_node::image_texture_class, openvrml::vrml97_node::indexed_face_set_class, openvrml::vrml97_node::indexed_line_set_class, openvrml::vrml97_node::inline_class, openvrml::vrml97_node::lod_class, openvrml::vrml97_node::material_class, openvrml::vrml97_node::movie_texture_class, openvrml::vrml97_node::navigation_info_class, openvrml::vrml97_node::normal_class, openvrml::vrml97_node::normal_interpolator_class, openvrml::vrml97_node::orientation_interpolator_class, openvrml::vrml97_node::pixel_texture_class, openvrml::vrml97_node::plane_sensor_class, openvrml::vrml97_node::point_light_class, openvrml::vrml97_node::point_set_class, openvrml::vrml97_node::position_interpolator_class, openvrml::vrml97_node::proximity_sensor_class, openvrml::vrml97_node::scalar_interpolator_class, openvrml::vrml97_node::shape_class, openvrml::vrml97_node::sound_class, openvrml::vrml97_node::sphere_class, openvrml::vrml97_node::sphere_sensor_class, openvrml::vrml97_node::spot_light_class, openvrml::vrml97_node::switch_class, openvrml::vrml97_node::text_class, openvrml::vrml97_node::texture_coordinate_class, openvrml::vrml97_node::texture_transform_class, openvrml::vrml97_node::time_sensor_class, openvrml::vrml97_node::touch_sensor_class, openvrml::vrml97_node::transform_class, openvrml::vrml97_node::viewpoint_class, openvrml::vrml97_node::visibility_sensor_class, and openvrml::vrml97_node::world_info_class. |
void openvrml::node_class::initialize |
( |
viewpoint_node * |
initial_viewpoint, |
|
|
double |
time |
|
) |
throw () [virtual] |
|
void openvrml::node_class::render |
( |
openvrml::viewer & |
viewer |
) |
throw () [virtual] |
|