Home | Download | Screen shots | Discussion | Documentation
--- | --- | --- | --- | ---

Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members | Related Pages

# openvrml::vrml97_node::indexed_face_set_node Class Reference

Inheritance diagram for openvrml::vrml97_node::indexed_face_set_node:

[legend]
List of all members.

## Detailed Description

Represents IndexedFaceSet node instances.

## Public Member Functions

| indexed_face_set_node (const node_type &type, const boost::shared_ptr< openvrml::scope > &scope)
| Construct.
virtual | ~indexed_face_set_node () throw ()
| Destroy.
virtual bool | modified () const
| Determine whether the node has been modified.
virtual const openvrml::bounding_volume & | bounding_volume () const
| Get the bounding volume.

## Private Member Functions

virtual viewer::object_t | do_render_geometry (openvrml::viewer &viewer, rendering_context context)
| Insert this geometry into `viewer's` display list.
void | recalcBSphere ()
| Recalculate the bounding volume.

## Private Attributes

set_normal_index_listener | set_normal_index_listener_
| set_normalIndex eventIn handler.
set_tex_coord_index_listener | set_tex_coord_index_listener_
| set_texCoordIndex eventIn handler.
exposedfield< sfnode > | normal_
| normal exposedField.
exposedfield< sfnode > | tex_coord_
| texCoord exposedField.
sfbool | ccw_
| ccw field.
sfbool | convex_
| convex field.
sffloat | crease_angle_
| creaseAngle field.
mfint32 | normal_index_
| set_normalIndex eventIn.
sfbool | normal_per_vertex_
| normalPerVertex field.
sfbool | solid_
| solid field.
mfint32 | tex_coord_index_
| set_texCoordIndex eventIn.
bounding_sphere | bsphere
| Bounding volume.

## Friends

class | indexed_face_set_class
| Class object for IndexedFaceSet nodes.

## Classes

class | set_normal_index_listener
| set_normalIndex event handler. More...
class | set_tex_coord_index_listener
| set_coordIndex event handler. More...

## Constructor & Destructor Documentation

openvrml::vrml97_node::indexed_face_set_node::indexed_face_set_node | ( | const node_type & | type,
|  | const boost::shared_ptr< openvrml::scope > & | scope
| ) |

Construct.

Parameters:

  | type | the node_type associated with the node.
  | scope | the scope to which the node belongs.

openvrml::vrml97_node::indexed_face_set_node::~indexed_face_set_node | ( |  | ) | throw ()`[virtual]`

| Destroy.

## Member Function Documentation

bool openvrml::vrml97_node::indexed_face_set_node::modified | ( |  | ) | const`[virtual]`

Determine whether the node has been modified.

Returns:
  `true` if the node or one of its children has been modified, `false` otherwise.

Reimplemented from openvrml::vrml97_node::abstract_indexed_set_node.

const bounding_volume & openvrml::vrml97_node::indexed_face_set_node::bounding_volume | ( |  | ) | const`[virtual]`

Get the bounding volume.

Returns:
  the bounding volume associated with the node.

Reimplemented from openvrml::node.

viewer::object_t openvrml::vrml97_node::indexed_face_set_node::do_render_geometry | ( | openvrml::viewer & | viewer,
|  | rendering_context | context
| ) | `[private, virtual]`

Insert this geometry into `viewer's` display list.

Parameters:

  | viewer | a Viewer.
  | context | the rendering context.

Todo:
  stripify, crease angle, generate normals ...

Reimplemented from openvrml::geometry_node.

void openvrml::vrml97_node::indexed_face_set_node::recalcBSphere | ( |  | ) | `[private]`

| Recalculate the bounding volume.

## Friends And Related Function Documentation

openvrml::vrml97_node::indexed_face_set_node::indexed_face_set_class`[friend]`

| Class object for IndexedFaceSet nodes.

## Member Data Documentation

indexed_face_set_node::set_normal_index_listener openvrml::vrml97_node::indexed_face_set_node::set_normal_index_listener_`[private]`

| set_normalIndex eventIn handler.

indexed_face_set_node::set_tex_coord_index_listener openvrml::vrml97_node::indexed_face_set_node::set_tex_coord_index_listener_`[private]`

| set_texCoordIndex eventIn handler.

exposedfield< sfnode > openvrml::vrml97_node::indexed_face_set_node::normal_`[private]`

| normal exposedField.

exposedfield< sfnode > openvrml::vrml97_node::indexed_face_set_node::tex_coord_`[private]`

| texCoord exposedField.

sfbool openvrml::vrml97_node::indexed_face_set_node::ccw_`[private]`

| ccw field.

sfbool openvrml::vrml97_node::indexed_face_set_node::convex_`[private]`

| convex field.

sffloat openvrml::vrml97_node::indexed_face_set_node::crease_angle_`[private]`

| creaseAngle field.

mfint32 openvrml::vrml97_node::indexed_face_set_node::normal_index_`[private]`

| set_normalIndex eventIn.

sfbool openvrml::vrml97_node::indexed_face_set_node::normal_per_vertex_`[private]`

| normalPerVertex field.

sfbool openvrml::vrml97_node::indexed_face_set_node::solid_`[private]`

| solid field.

mfint32 openvrml::vrml97_node::indexed_face_set_node::tex_coord_index_`[private]`

| set_texCoordIndex eventIn.

bounding_sphere openvrml::vrml97_node::indexed_face_set_node::bsphere`[private]`

| Bounding volume.