Archon::X3D::IndexedFaceSet Struct Reference

Server side representation of the equally named X3D node type. More...

#include <archon/x3d/server/geometry.H>

Inheritance diagram for Archon::X3D::IndexedFaceSet:

Inheritance graph
[legend]
Collaboration diagram for Archon::X3D::IndexedFaceSet:

Collaboration graph
[legend]
List of all members.

Public Member Functions

const NodeTypegetType () const
 IndexedFaceSet (BackRef< ExecutionContext > c)
bool getConvex () const
double getCreaseAngle () const
const vector< int > & getCoordIndex () const
const vector< int > & getColorIndex () const
const vector< int > & getNormalIndex () const
const vector< int > & getTexCoordIndex () const
int intersect (const Math::Ray3 &, double &dist) const
 Implementation based on An Efficient Ray/Polygon Intersection by Didier Badouel from "Graphics Gems I", Academic Press, 1990.
void getNormalAndTexCoord (Vector3 hitPoint, int where, const Shape *, Vector3 *hitNormal, Vector2 *hitTexCoord) const
void render (bool texture, const Shape *shape, const RenderConfig *)

Static Public Member Functions

static Ref< NodeBaseinstantiate (BackRef< ExecutionContext > c)

Static Public Attributes

static const NodeTypetype = 0

Friends

void initializeGeometryComponent ()

Detailed Description

Server side representation of the equally named X3D node type.

Definition at line 607 of file geometry.H.


Member Function Documentation

int Archon::X3D::IndexedFaceSet::intersect const Math::Ray3 ray,
double &  dist
const [virtual]
 

Implementation based on An Efficient Ray/Polygon Intersection by Didier Badouel from "Graphics Gems I", Academic Press, 1990.

Todo:
Under the assumption that the polygon is convex, we may employ an optimization in that finding b < 0 ot a+b > 1 for any of the triangles we know that there can be no intersection.

Implements Archon::X3D::GeometryNode.

Definition at line 587 of file geometry.C.

References Archon::Math::Ray3::direction, Archon::Math::dot(), n, Archon::Math::Ray3::origin, and Archon::Math::sort3().


The documentation for this struct was generated from the following files:
Generated on Sun Jul 30 22:59:32 2006 for Archon by  doxygen 1.4.4