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:

Inheritance graph
[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_volumebounding_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< sfnodenormal_
 normal exposedField.
exposedfield< sfnodetex_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.