
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 |
Definition at line 112 of file loopsubdiv.cpp.
| LoopSubdiv::LoopSubdiv | ( | const Transform & | o2w, | |
| bool | ro, | |||
| int | nt, | |||
| int | nv, | |||
| const int * | vi, | |||
| const Point * | P, | |||
| int | nlevels | |||
| ) |
Definition at line 161 of file loopsubdiv.cpp.
References SDVertex::boundary, SDFace::f, SDEdge::f, SDEdge::f0edgeNum, faces, if(), NEXT, SDFace::nextFace(), nLevels, SDVertex::regular, SDVertex::startFace, SDFace::v, SDVertex::valence(), and vertices.
Referenced by CreateShape().
| LoopSubdiv::~LoopSubdiv | ( | ) |
| bool LoopSubdiv::CanIntersect | ( | ) | const [virtual] |
Reimplemented from Shape.
Definition at line 247 of file loopsubdiv.cpp.
References ParamSet::AddInt(), ParamSet::AddNormal(), ParamSet::AddPoint(), beta(), SDVertex::boundary, SDVertex::child, SDFace::children, Cross(), SDFace::f, faces, gamma(), M_PI, MakeShape(), NEXT, nLevels, Shape::ObjectToWorld, SDVertex::oneRing(), SDFace::otherVert(), SDVertex::P, PREV, SDVertex::regular, Shape::reverseOrientation, SDVertex::startFace, SDEdge::v, SDFace::v, SDVertex::valence(), vertices, SDFace::vnum(), weightBoundary(), and weightOneRing().
| BBox LoopSubdiv::ObjectBound | ( | ) | const [virtual] |
| 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 439 of file loopsubdiv.cpp.
References SDVertex::oneRing(), SDVertex::P, and SDVertex::valence().
Referenced by Refine().
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] |
int LoopSubdiv::nLevels [private] |
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().
1.5.6