lux::ShapeSet Class Reference

#include <shape.h>

Inheritance diagram for lux::ShapeSet:

lux::Shape

List of all members.

Public Member Functions

Point Sample (float u1, float u2, Normal *Ns) const
 ShapeSet (const vector< boost::shared_ptr< Shape > > &s, const Transform &o2w, bool ro)
BBox ObjectBound () const
bool CanIntersect () const
bool Intersect (const Ray &ray, float *t_hitp, DifferentialGeometry *dg) const
void Refine (vector< boost::shared_ptr< Shape > > &refined) const
float Area () const

Private Attributes

float area
vector< float > areaCDF
vector< boost::shared_ptr
< Shape > > 
shapes
BBox worldbound
Primitiveaccelerator


Detailed Description

Definition at line 121 of file shape.h.


Constructor & Destructor Documentation

ShapeSet::ShapeSet ( const vector< boost::shared_ptr< Shape > > &  s,
const Transform o2w,
bool  ro 
)


Member Function Documentation

float lux::ShapeSet::Area (  )  const [inline, virtual]

Reimplemented from lux::Shape.

Definition at line 154 of file shape.h.

References area.

bool lux::ShapeSet::CanIntersect (  )  const [inline, virtual]

Reimplemented from lux::Shape.

Definition at line 139 of file shape.h.

References shapes.

Referenced by Refine().

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

BBox lux::ShapeSet::ObjectBound (  )  const [inline, virtual]

Implements lux::Shape.

Definition at line 133 of file shape.h.

References shapes, and lux::Union().

void lux::ShapeSet::Refine ( vector< boost::shared_ptr< Shape > > &  refined  )  const [inline, virtual]

Reimplemented from lux::Shape.

Definition at line 146 of file shape.h.

References CanIntersect(), and shapes.

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

Reimplemented from lux::Shape.

Definition at line 124 of file shape.h.

References areaCDF, lux::random::floatValue(), and shapes.


Member Data Documentation

Definition at line 161 of file shape.h.

Referenced by Intersect(), and ShapeSet().

float lux::ShapeSet::area [private]

Definition at line 157 of file shape.h.

Referenced by Area(), and ShapeSet().

vector<float> lux::ShapeSet::areaCDF [private]

Definition at line 158 of file shape.h.

Referenced by Sample(), and ShapeSet().

vector<boost::shared_ptr<Shape> > lux::ShapeSet::shapes [private]

Definition at line 159 of file shape.h.

Referenced by CanIntersect(), Intersect(), ObjectBound(), Refine(), Sample(), and ShapeSet().

Definition at line 160 of file shape.h.

Referenced by Intersect(), and ShapeSet().


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

Generated on Fri Jul 24 11:50:04 2009 for lux by  doxygen 1.5.9