ShapeSet Class Reference

#include <shape.h>

Inheritance diagram for ShapeSet:

Shape ReferenceCounted

List of all members.

Public Member Functions

Point Sample (float u1, float u2, Normal *Ns) const
 ShapeSet (const vector< Reference< 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< Reference< Shape > > &refined) const
float Area () const

Private Attributes

float area
vector< float > areaCDF
vector< Reference< Shape > > shapes


Detailed Description

Definition at line 112 of file shape.h.


Constructor & Destructor Documentation

ShapeSet::ShapeSet ( const vector< Reference< Shape > > &  s,
const Transform o2w,
bool  ro 
) [inline]

Definition at line 122 of file shape.h.

References area, areaCDF, and shapes.


Member Function Documentation

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

Reimplemented from Shape.

Definition at line 115 of file shape.h.

References areaCDF, RandomFloat(), and shapes.

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

Implements Shape.

Definition at line 139 of file shape.h.

References shapes, and Union().

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

Reimplemented from Shape.

Definition at line 145 of file shape.h.

References shapes.

Referenced by Refine().

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

Reimplemented from Shape.

Definition at line 150 of file shape.h.

References shapes.

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

Reimplemented from Shape.

Definition at line 157 of file shape.h.

References CanIntersect(), and shapes.

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

Reimplemented from Shape.

Definition at line 165 of file shape.h.

References area.


Member Data Documentation

float ShapeSet::area [private]

Definition at line 168 of file shape.h.

Referenced by Area(), and ShapeSet().

vector<float> ShapeSet::areaCDF [private]

Definition at line 169 of file shape.h.

Referenced by Sample(), and ShapeSet().

vector<Reference<Shape> > ShapeSet::shapes [private]

Definition at line 170 of file shape.h.

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


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