lux::Quadrilateral Class Reference

#include <quadrilateral.h>

Inheritance diagram for lux::Quadrilateral:
[legend]
Collaboration diagram for lux::Quadrilateral:
[legend]

List of all members.

Public Member Functions

 Quadrilateral (const Transform &o2w, bool ro, QuadMesh *m, int *indices)
virtual ~Quadrilateral ()
virtual BBox ObjectBound () const
virtual BBox WorldBound () const
virtual bool Intersect (const Ray &ray, float *tHit, DifferentialGeometry *dg) const
virtual bool IntersectP (const Ray &ray) const
void GetUVs (float uv[4][2]) const
virtual float Area () const
virtual Point Sample (float u1, float u2, float u3, Normal *Ns) const

Private Attributes

intidx
QuadMeshmesh

Detailed Description

Definition at line 64 of file quadrilateral.h.


Constructor & Destructor Documentation

Quadrilateral::Quadrilateral ( const Transform o2w,
bool  ro,
QuadMesh m,
int indices 
)

Definition at line 46 of file quadrilateral.cpp.

References idx, and mesh.

Quadrilateral::~Quadrilateral (  )  [virtual]

Definition at line 53 of file quadrilateral.cpp.


Member Function Documentation

float Quadrilateral::Area (  )  const [virtual]

Returns the area of this primitive.

Reimplemented from lux::Primitive.

Definition at line 238 of file quadrilateral.cpp.

References lux::Cross(), idx, lux::Vector::Length(), mesh, and lux::QuadMesh::p.

Referenced by lux::Quad::Area().

void lux::Quadrilateral::GetUVs ( float  uv[4][2]  )  const [inline]

Definition at line 74 of file quadrilateral.h.

References idx, mesh, and lux::QuadMesh::uvs.

Referenced by Intersect().

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

Tests for intersection of this primitive with the given ray.

Parameters:
r The ray to intersect with this primitive.
Returns:
Whether an intersection was found.

Reimplemented from lux::Primitive.

Definition at line 230 of file quadrilateral.cpp.

References Intersect().

Referenced by lux::Quad::IntersectP().

BBox Quadrilateral::ObjectBound (  )  const [virtual]

Reimplemented from lux::Shape.

Definition at line 56 of file quadrilateral.cpp.

References idx, mesh, lux::QuadMesh::p, lux::Union(), and lux::Shape::WorldToObject.

Referenced by lux::Quad::ObjectBound().

virtual Point lux::Quadrilateral::Sample ( float  u1,
float  u2,
float  u3,
Normal Ns 
) const [inline, virtual]

Reimplemented from lux::Shape.

Definition at line 104 of file quadrilateral.h.

References lux::Cross(), idx, mesh, lux::Normalize(), lux::QuadMesh::p, p, and lux::Shape::reverseOrientation.

Referenced by lux::Quad::Sample().

BBox Quadrilateral::WorldBound (  )  const [virtual]

Returns the world bounds of this primitive.

Reimplemented from lux::Shape.

Definition at line 66 of file quadrilateral.cpp.

References idx, mesh, lux::QuadMesh::p, and lux::Union().

Referenced by lux::Quad::WorldBound().


Member Data Documentation

Definition at line 125 of file quadrilateral.h.

Referenced by Area(), GetUVs(), Intersect(), ObjectBound(), Quadrilateral(), Sample(), and WorldBound().

Definition at line 126 of file quadrilateral.h.

Referenced by Area(), GetUVs(), Intersect(), ObjectBound(), Quadrilateral(), Sample(), and WorldBound().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208