lux::BaryTriangle Class Reference

#include <barytrianglemesh.h>

Inheritance diagram for lux::BaryTriangle:

lux::Shape

List of all members.

Public Member Functions

 BaryTriangle (const Transform &o2w, bool ro, BaryTriangleMesh *m, int n)
BBox ObjectBound () const
BBox WorldBound () const
bool Intersect (const Ray &ray, float *tHit, DifferentialGeometry *dg) const
bool IntersectP (const Ray &ray) const
void GetUVs (float uv[3][2]) const
float Area () const
virtual void GetShadingGeometry (const Transform &obj2world, const DifferentialGeometry &dg, DifferentialGeometry *dgShading) const
Point Sample (float u1, float u2, Normal *Ns) const

Private Attributes

BaryTriangleMeshmesh
int * v


Detailed Description

Definition at line 58 of file barytrianglemesh.h.


Constructor & Destructor Documentation

lux::BaryTriangle::BaryTriangle ( const Transform o2w,
bool  ro,
BaryTriangleMesh m,
int  n 
) [inline]

Definition at line 61 of file barytrianglemesh.h.

References mesh, v, and lux::BaryTriangleMesh::vertexIndex.


Member Function Documentation

float BaryTriangle::Area (  )  const [virtual]

Reimplemented from lux::Shape.

Definition at line 235 of file barytrianglemesh.cpp.

References lux::Cross(), lux::Vector::Length(), mesh, lux::BaryTriangleMesh::p, and v.

virtual void lux::BaryTriangle::GetShadingGeometry ( const Transform obj2world,
const DifferentialGeometry dg,
DifferentialGeometry dgShading 
) const [inline, virtual]

void BaryTriangle::GetUVs ( float  uv[3][2]  )  const

bool BaryTriangle::Intersect ( const Ray ray,
float *  tHit,
DifferentialGeometry dg 
) const [virtual]

bool BaryTriangle::IntersectP ( const Ray ray  )  const [virtual]

Reimplemented from lux::Shape.

Definition at line 184 of file barytrianglemesh.cpp.

References lux::Cross(), lux::Ray::d, lux::Dot(), lux::Ray::maxt, mesh, lux::Ray::o, lux::BaryTriangleMesh::p, and v.

BBox BaryTriangle::ObjectBound (  )  const [virtual]

Implements lux::Shape.

Definition at line 92 of file barytrianglemesh.cpp.

References mesh, lux::BaryTriangleMesh::p, lux::Union(), v, and lux::Shape::WorldToObject.

Point BaryTriangle::Sample ( float  u1,
float  u2,
Normal Ns 
) const [virtual]

BBox BaryTriangle::WorldBound (  )  const [virtual]

Reimplemented from lux::Shape.

Definition at line 100 of file barytrianglemesh.cpp.

References mesh, lux::BaryTriangleMesh::p, lux::Union(), and v.


Member Data Documentation

int* lux::BaryTriangle::v [private]


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

Generated on Sat Aug 15 14:17:06 2009 for lux by  doxygen 1.5.9