LoopSubdiv Class Reference

Inheritance diagram for LoopSubdiv:

Shape ReferenceCounted

List of all members.

Public Member Functions

 LoopSubdiv (const Transform &o2w, bool ro, int nt, int nv, const int *vi, const Point *P, int nlevels)
 ~LoopSubdiv ()
bool CanIntersect () const
void Refine (vector< Reference< Shape > > &refined) const
BBox ObjectBound () const
BBox WorldBound () const

Static Private Member Functions

static float beta (int valence)
static Point weightOneRing (SDVertex *vert, float beta)
static Point weightBoundary (SDVertex *vert, float beta)
static float gamma (int valence)

Private Attributes

int nLevels
vector< SDVertex * > vertices
vector< SDFace * > faces


Detailed Description

Definition at line 112 of file loopsubdiv.cpp.


Constructor & Destructor Documentation

LoopSubdiv::LoopSubdiv ( const Transform o2w,
bool  ro,
int  nt,
int  nv,
const int *  vi,
const Point P,
int  nlevels 
)

LoopSubdiv::~LoopSubdiv (  ) 

Definition at line 227 of file loopsubdiv.cpp.

References faces, and vertices.


Member Function Documentation

bool LoopSubdiv::CanIntersect (  )  const [virtual]

Reimplemented from Shape.

Definition at line 243 of file loopsubdiv.cpp.

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

BBox LoopSubdiv::ObjectBound (  )  const [virtual]

Implements Shape.

Definition at line 231 of file loopsubdiv.cpp.

References Union(), and vertices.

BBox LoopSubdiv::WorldBound (  )  const [virtual]

Reimplemented from Shape.

Definition at line 237 of file loopsubdiv.cpp.

References Shape::ObjectToWorld, Union(), and vertices.

static float LoopSubdiv::beta ( int  valence  )  [inline, static, private]

Definition at line 125 of file loopsubdiv.cpp.

Referenced by gamma(), and Refine().

Point LoopSubdiv::weightOneRing ( SDVertex vert,
float  beta 
) [static, private]

Definition at line 439 of file loopsubdiv.cpp.

References SDVertex::oneRing(), SDVertex::P, and SDVertex::valence().

Referenced by Refine().

Point LoopSubdiv::weightBoundary ( SDVertex vert,
float  beta 
) [static, private]

Definition at line 470 of file loopsubdiv.cpp.

References SDVertex::oneRing(), SDVertex::P, and SDVertex::valence().

Referenced by Refine().

static float LoopSubdiv::gamma ( int  valence  )  [inline, static, private]

Definition at line 131 of file loopsubdiv.cpp.

References beta().

Referenced by Refine().


Member Data Documentation

int LoopSubdiv::nLevels [private]

Definition at line 135 of file loopsubdiv.cpp.

Referenced by LoopSubdiv(), and Refine().

vector<SDVertex *> LoopSubdiv::vertices [private]

Definition at line 136 of file loopsubdiv.cpp.

Referenced by LoopSubdiv(), ObjectBound(), Refine(), WorldBound(), and ~LoopSubdiv().

vector<SDFace *> LoopSubdiv::faces [private]

Definition at line 137 of file loopsubdiv.cpp.

Referenced by LoopSubdiv(), Refine(), and ~LoopSubdiv().


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

Generated on Mon Jul 20 17:31:55 2009 for pbrt by  doxygen 1.5.6