LoopSubdiv Class Reference

#include <loopsubdiv.h>

Inheritance diagram for LoopSubdiv:
Shape ReferenceCounted

List of all members.

Public Member Functions

 LoopSubdiv (const Transform *o2w, const Transform *w2o, 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 37 of file loopsubdiv.h.


Constructor & Destructor Documentation

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

Definition at line 218 of file loopsubdiv.cpp.

References faces, and vertices.


Member Function Documentation

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

Definition at line 50 of file loopsubdiv.h.

Referenced by gamma(), and Refine().

bool LoopSubdiv::CanIntersect (  )  const [virtual]

Reimplemented from Shape.

Definition at line 240 of file loopsubdiv.cpp.

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

Definition at line 56 of file loopsubdiv.h.

References beta().

Referenced by Refine().

BBox LoopSubdiv::ObjectBound (  )  const [virtual]

Implements Shape.

Definition at line 224 of file loopsubdiv.cpp.

References P, Union(), and vertices.

void LoopSubdiv::Refine ( vector< Reference< Shape > > &  refined  )  const [virtual]
Point LoopSubdiv::weightBoundary ( SDVertex vert,
float  beta 
) [static, private]

Definition at line 475 of file loopsubdiv.cpp.

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

Referenced by Refine().

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

Definition at line 440 of file loopsubdiv.cpp.

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

Referenced by Refine().

BBox LoopSubdiv::WorldBound (  )  const [virtual]

Reimplemented from Shape.

Definition at line 232 of file loopsubdiv.cpp.

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


Member Data Documentation

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

Definition at line 63 of file loopsubdiv.h.

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

int LoopSubdiv::nLevels [private]

Definition at line 61 of file loopsubdiv.h.

Referenced by LoopSubdiv(), and Refine().

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

Definition at line 62 of file loopsubdiv.h.

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


The documentation for this class was generated from the following files:
Generated on Sat Aug 28 20:00:14 2010 for pbrt by  doxygen 1.6.3