TriangleMesh Class Reference

Inheritance diagram for TriangleMesh:

Shape ReferenceCounted

List of all members.

Public Member Functions

 TriangleMesh (const Transform &o2w, bool ro, int ntris, int nverts, const int *vptr, const Point *P, const Normal *N, const Vector *S, const float *uv)
 ~TriangleMesh ()
BBox ObjectBound () const
BBox WorldBound () const
bool CanIntersect () const
void Refine (vector< Reference< Shape > > &refined) const

Protected Attributes

int ntris
int nverts
int * vertexIndex
Pointp
Normaln
Vectors
float * uvs

Friends

class Triangle
class VertexTexture


Detailed Description

Definition at line 28 of file trianglemesh.cpp.


Constructor & Destructor Documentation

TriangleMesh::TriangleMesh ( const Transform o2w,
bool  ro,
int  ntris,
int  nverts,
const int *  vptr,
const Point P,
const Normal N,
const Vector S,
const float *  uv 
)

Definition at line 141 of file trianglemesh.cpp.

References memcpy(), n, ntris, nverts, Shape::ObjectToWorld, p, s, uvs, and vertexIndex.

TriangleMesh::~TriangleMesh (  ) 

Definition at line 170 of file trianglemesh.cpp.

References n, p, s, uvs, and vertexIndex.


Member Function Documentation

BBox TriangleMesh::ObjectBound (  )  const [virtual]

Implements Shape.

Definition at line 177 of file trianglemesh.cpp.

References nverts, p, Union(), and Shape::WorldToObject.

BBox TriangleMesh::WorldBound (  )  const [virtual]

Reimplemented from Shape.

Definition at line 183 of file trianglemesh.cpp.

References nverts, p, and Union().

bool TriangleMesh::CanIntersect (  )  const [inline, virtual]

Reimplemented from Shape.

Definition at line 38 of file trianglemesh.cpp.

void TriangleMesh::Refine ( vector< Reference< Shape > > &  refined  )  const [virtual]

Reimplemented from Shape.

Definition at line 190 of file trianglemesh.cpp.

References ntris, Shape::ObjectToWorld, and Shape::reverseOrientation.


Friends And Related Function Documentation

friend class Triangle [friend]

Definition at line 40 of file trianglemesh.cpp.

friend class VertexTexture [friend]

Definition at line 41 of file trianglemesh.cpp.


Member Data Documentation

int TriangleMesh::ntris [protected]

Definition at line 44 of file trianglemesh.cpp.

Referenced by Refine(), and TriangleMesh().

int TriangleMesh::nverts [protected]

Definition at line 44 of file trianglemesh.cpp.

Referenced by ObjectBound(), TriangleMesh(), and WorldBound().

int* TriangleMesh::vertexIndex [protected]

Definition at line 45 of file trianglemesh.cpp.

Referenced by TriangleMesh(), and ~TriangleMesh().

Point* TriangleMesh::p [protected]

Definition at line 46 of file trianglemesh.cpp.

Referenced by ObjectBound(), TriangleMesh(), WorldBound(), and ~TriangleMesh().

Normal* TriangleMesh::n [protected]

Definition at line 47 of file trianglemesh.cpp.

Referenced by TriangleMesh(), and ~TriangleMesh().

Vector* TriangleMesh::s [protected]

Definition at line 48 of file trianglemesh.cpp.

Referenced by TriangleMesh(), and ~TriangleMesh().

float* TriangleMesh::uvs [protected]

Definition at line 49 of file trianglemesh.cpp.

Referenced by TriangleMesh(), and ~TriangleMesh().


The documentation for this class was generated from the following file:

Generated on Mon Jul 20 17:31:56 2009 for pbrt by  doxygen 1.5.6