#include <waldtrianglemesh.h>
Public Member Functions | |
WaldTriangleMesh (const Transform &o2w, bool ro, int ntris, int nverts, const int *vptr, const Point *P, const Normal *N, const Vector *S, const float *uv) | |
~WaldTriangleMesh () | |
BBox | ObjectBound () const |
BBox | WorldBound () const |
bool | CanIntersect () const |
void | Refine (vector< boost::shared_ptr< Shape > > &refined) const |
Static Public Member Functions | |
static Shape * | CreateShape (const Transform &o2w, bool reverseOrientation, const ParamSet ¶ms) |
Protected Attributes | |
int | ntris |
int | nverts |
int * | vertexIndex |
Point * | p |
Normal * | n |
Vector * | s |
float * | uvs |
vector< boost::shared_ptr < Shape > > | triPtrs |
Friends | |
class | WaldTriangle |
class | VertexTexture |
Definition at line 32 of file waldtrianglemesh.h.
WaldTriangleMesh::WaldTriangleMesh | ( | 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 31 of file waldtrianglemesh.cpp.
References memcpy(), n, ntris, nverts, lux::Shape::ObjectToWorld, p, s, uvs, and vertexIndex.
Referenced by CreateShape().
WaldTriangleMesh::~WaldTriangleMesh | ( | ) |
Definition at line 65 of file waldtrianglemesh.cpp.
References n, p, s, uvs, and vertexIndex.
bool lux::WaldTriangleMesh::CanIntersect | ( | ) | const [inline, virtual] |
Reimplemented from lux::Shape.
Definition at line 42 of file waldtrianglemesh.h.
Shape * WaldTriangleMesh::CreateShape | ( | const Transform & | o2w, | |
bool | reverseOrientation, | |||
const ParamSet & | params | |||
) | [static] |
Definition at line 673 of file waldtrianglemesh.cpp.
References lux::Cross(), lux::ParamSet::FindFloat(), lux::ParamSet::FindInt(), lux::ParamSet::FindNormal(), lux::ParamSet::FindPoint(), lux::ParamSet::FindVector(), lux::Vector::Length(), LUX_CONSISTENCY, LUX_ERROR, luxError, N, uvs, and WaldTriangleMesh().
Referenced by lux::MakeShape().
BBox WaldTriangleMesh::ObjectBound | ( | ) | const [virtual] |
Implements lux::Shape.
Definition at line 73 of file waldtrianglemesh.cpp.
References nverts, p, lux::Union(), and lux::Shape::WorldToObject.
void WaldTriangleMesh::Refine | ( | vector< boost::shared_ptr< Shape > > & | refined | ) | const |
Definition at line 88 of file waldtrianglemesh.cpp.
References ntris, lux::Shape::ObjectToWorld, lux::Shape::reverseOrientation, and WaldTriangle.
BBox WaldTriangleMesh::WorldBound | ( | ) | const [virtual] |
Reimplemented from lux::Shape.
Definition at line 80 of file waldtrianglemesh.cpp.
References nverts, p, and lux::Union().
friend class VertexTexture [friend] |
Definition at line 45 of file waldtrianglemesh.h.
friend class WaldTriangle [friend] |
Definition at line 44 of file waldtrianglemesh.h.
Referenced by Refine().
Normal* lux::WaldTriangleMesh::n [protected] |
Definition at line 54 of file waldtrianglemesh.h.
Referenced by lux::WaldTriangle::GetShadingGeometry(), lux::WaldTriangle::WaldTriangle(), WaldTriangleMesh(), and ~WaldTriangleMesh().
int lux::WaldTriangleMesh::ntris [protected] |
Definition at line 51 of file waldtrianglemesh.h.
Referenced by Refine(), and WaldTriangleMesh().
int lux::WaldTriangleMesh::nverts [protected] |
Definition at line 51 of file waldtrianglemesh.h.
Referenced by ObjectBound(), WaldTriangleMesh(), and WorldBound().
Point* lux::WaldTriangleMesh::p [protected] |
Definition at line 53 of file waldtrianglemesh.h.
Referenced by lux::WaldTriangle::Area(), lux::WaldTriangle::GetUVs(), lux::WaldTriangle::ObjectBound(), ObjectBound(), lux::WaldTriangle::Sample(), lux::WaldTriangle::WaldTriangle(), WaldTriangleMesh(), lux::WaldTriangle::WorldBound(), WorldBound(), and ~WaldTriangleMesh().
Vector* lux::WaldTriangleMesh::s [protected] |
Definition at line 55 of file waldtrianglemesh.h.
Referenced by lux::WaldTriangle::GetShadingGeometry(), WaldTriangleMesh(), and ~WaldTriangleMesh().
vector<boost::shared_ptr<Shape> > lux::WaldTriangleMesh::triPtrs [protected] |
Definition at line 57 of file waldtrianglemesh.h.
float* lux::WaldTriangleMesh::uvs [protected] |
Definition at line 56 of file waldtrianglemesh.h.
Referenced by CreateShape(), lux::WaldTriangle::GetUVs(), WaldTriangleMesh(), and ~WaldTriangleMesh().
int* lux::WaldTriangleMesh::vertexIndex [protected] |
Definition at line 52 of file waldtrianglemesh.h.
Referenced by lux::WaldTriangle::WaldTriangle(), WaldTriangleMesh(), and ~WaldTriangleMesh().