Biomechanical Joint Model
 Author: Anderson Maciel

Mesh Class Reference

#include <mesh.h>

Inherits Primitive.

Inheritance diagram for Mesh:

Inheritance graph
[legend]
Collaboration diagram for Mesh:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Mesh (const VECArray &vertlist, const VECArray &normlist, const vector< int > &trilist, const vector< int > &normIndex)
 Mesh (const Mesh &mesh)
virtual bool intersectedBy (Ray &ray) const
virtual REAL getDistance (const VEC &X) const
virtual BBox getBoundingBox ()
virtual void findIntersection (const VEC &P1, const VEC &P2, REAL valp1, REAL valp2, VEC &P, VEC &N) const

Private Member Functions

bool intersectedBy (Ray &ray, REAL &u, REAL &v, int &tri_idx) const

Private Attributes

VECArray vertices
VECArray normals
vector< int > faces
vector< int > normalIndex
BBoxHierarchy bbox_h

Detailed Description

Definition at line 35 of file mesh.h.


Constructor & Destructor Documentation

Mesh::Mesh const VECArray vertlist,
const VECArray normlist,
const vector< int > &  trilist,
const vector< int > &  normIndex
 

Definition at line 32 of file mesh.cpp.

References bbox_h, BBoxHierarchy::createHierarchy(), faces, LinAlg::VECArray::size(), and vertices.

Here is the call graph for this function:

Mesh::Mesh const Mesh mesh  )  [inline]
 

Definition at line 41 of file mesh.h.


Member Function Documentation

void Mesh::findIntersection const VEC P1,
const VEC P2,
REAL  valp1,
REAL  valp2,
VEC P,
VEC N
const [virtual]
 

Implements Primitive.

Definition at line 132 of file mesh.cpp.

References intersectedBy(), normalIndex, LinAlg::Vector::normalize(), normals, Ray::P, REAL, and Ray::segment.

Here is the call graph for this function:

BBox Mesh::getBoundingBox  )  [virtual]
 

Implements Primitive.

Definition at line 119 of file mesh.cpp.

References BBox::makeEmpty().

Here is the call graph for this function:

REAL Mesh::getDistance const VEC X  )  const [virtual]
 

Implements Primitive.

Definition at line 85 of file mesh.cpp.

References Ray::D, LinAlg::epsilon, intersect_triangle(), Ray::O, REAL, and Ray::t.

Here is the call graph for this function:

bool Mesh::intersectedBy Ray ray,
REAL &  u,
REAL &  v,
int &  tri_idx
const [private]
 

Definition at line 51 of file mesh.cpp.

References bbox_h, Ray::D, faces, BBoxHierarchy::getPotentialTriangles(), LinAlg::infinity, intersect_triangle(), Ray::O, REAL, Ray::t, and vertices.

Here is the call graph for this function:

bool Mesh::intersectedBy Ray ray  )  const [virtual]
 

Implements Primitive.

Definition at line 42 of file mesh.cpp.

References REAL.

Referenced by findIntersection().


Member Data Documentation

BBoxHierarchy Mesh::bbox_h [private]
 

Definition at line 58 of file mesh.h.

Referenced by intersectedBy(), and Mesh().

vector<int> Mesh::faces [private]
 

Definition at line 55 of file mesh.h.

Referenced by intersectedBy(), and Mesh().

vector<int> Mesh::normalIndex [private]
 

Definition at line 56 of file mesh.h.

Referenced by findIntersection().

VECArray Mesh::normals [private]
 

Definition at line 54 of file mesh.h.

Referenced by findIntersection().

VECArray Mesh::vertices [private]
 

Definition at line 53 of file mesh.h.

Referenced by intersectedBy(), and Mesh().


The documentation for this class was generated from the following files:
Generated on Thu Dec 1 10:14:32 2005 for COME - Biomechanical Joint Model by  doxygen 1.4.5