#include <mesh.h>
Public Types | |
enum | CreaseSubdivision { k_CreaseNormal, k_CreaseChaikin } |
Public Member Functions | |
HbrSubdivision () | |
virtual | ~HbrSubdivision () |
virtual HbrSubdivision< T > * | Clone () const =0 |
virtual void | Refine (HbrMesh< T > *mesh, HbrFace< T > *face)=0 |
virtual HbrFace< T > * | RefineFaceAtVertex (HbrMesh< T > *mesh, HbrFace< T > *face, HbrVertex< T > *vertex)=0 |
virtual void | RefineAtVertex (HbrMesh< T > *mesh, HbrVertex< T > *vertex) |
virtual void | GuaranteeNeighbor (HbrMesh< T > *mesh, HbrHalfedge< T > *edge)=0 |
virtual void | GuaranteeNeighbors (HbrMesh< T > *mesh, HbrVertex< T > *vertex)=0 |
virtual bool | HasLimit (HbrMesh< T > *, HbrFace< T > *) |
virtual bool | HasLimit (HbrMesh< T > *, HbrHalfedge< T > *) |
virtual bool | HasLimit (HbrMesh< T > *, HbrVertex< T > *) |
virtual HbrVertex< T > * | Subdivide (HbrMesh< T > *mesh, HbrFace< T > *face)=0 |
virtual HbrVertex< T > * | Subdivide (HbrMesh< T > *mesh, HbrHalfedge< T > *edge)=0 |
virtual HbrVertex< T > * | Subdivide (HbrMesh< T > *mesh, HbrVertex< T > *vertex)=0 |
virtual bool | VertexIsExtraordinary (HbrMesh< T > const *, HbrVertex< T > *) |
virtual bool | FaceIsExtraordinary (HbrMesh< T > const *, HbrFace< T > *) |
CreaseSubdivision | GetCreaseSubdivisionMethod () const |
void | SetCreaseSubdivisionMethod (CreaseSubdivision method) |
void | SubdivideCreaseWeight (HbrHalfedge< T > *edge, HbrVertex< T > *vertex, HbrHalfedge< T > *subedge) |
virtual int | GetFaceChildrenCount (int nvertices) const =0 |
Protected Member Functions | |
void | AddSurroundingVerticesWithWeight (HbrMesh< T > *mesh, HbrVertex< T > *vertex, float weight, T *data) |
void | AddCreaseEdgesWithWeight (HbrMesh< T > *mesh, HbrVertex< T > *vertex, bool next, float weight, T *data) |
Protected Attributes | |
CreaseSubdivision | creaseSubdivision |
enum CreaseSubdivision |
Enumerator | |
---|---|
k_CreaseNormal | |
k_CreaseChaikin |
Definition at line 88 of file subdivision.h.
|
inline |
Definition at line 39 of file subdivision.h.
|
inlinevirtual |
Definition at line 42 of file subdivision.h.
|
protected |
Definition at line 283 of file subdivision.h.
|
protected |
Definition at line 276 of file subdivision.h.
|
pure virtual |
Implemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
Reimplemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
Definition at line 78 of file subdivision.h.
|
inline |
Definition at line 92 of file subdivision.h.
|
pure virtual |
Implemented in HbrCatmarkSubdivision< T >, HbrLoopSubdivision< T >, and HbrBilinearSubdivision< T >.
|
pure virtual |
Implemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
Implemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
Reimplemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
Definition at line 65 of file subdivision.h.
|
inlinevirtual |
Reimplemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
Definition at line 66 of file subdivision.h.
Reimplemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
Definition at line 67 of file subdivision.h.
Implemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
Definition at line 197 of file subdivision.h.
|
pure virtual |
Implemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
|
inline |
Definition at line 93 of file subdivision.h.
Implemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
|
pure virtual |
Implemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
Implemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
void SubdivideCreaseWeight | ( | HbrHalfedge< T > * | edge, |
HbrVertex< T > * | vertex, | ||
HbrHalfedge< T > * | subedge | ||
) |
Definition at line 205 of file subdivision.h.
Reimplemented in HbrLoopSubdivision< T >, HbrCatmarkSubdivision< T >, and HbrBilinearSubdivision< T >.
Definition at line 75 of file subdivision.h.
|
protected |
Definition at line 108 of file subdivision.h.