All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HbrCatmarkSubdivision< T > Class Template Reference

#include <catmark.h>

Inheritance diagram for HbrCatmarkSubdivision< T >:
HbrSubdivision< T >

Public Types

enum  TriangleSubdivision { k_Normal, k_Old, k_New }
 
- Public Types inherited from HbrSubdivision< T >
enum  CreaseSubdivision { k_CreaseNormal, k_CreaseChaikin }
 

Public Member Functions

 HbrCatmarkSubdivision ()
 
 HbrCatmarkSubdivision (const HbrCatmarkSubdivision< T > &old)
 
virtual HbrSubdivision< T > * Clone () const
 
virtual void Refine (HbrMesh< T > *mesh, HbrFace< T > *face)
 
virtual HbrFace< T > * RefineFaceAtVertex (HbrMesh< T > *mesh, HbrFace< T > *face, HbrVertex< T > *vertex)
 
virtual void GuaranteeNeighbor (HbrMesh< T > *mesh, HbrHalfedge< T > *edge)
 
virtual void GuaranteeNeighbors (HbrMesh< T > *mesh, HbrVertex< T > *vertex)
 
virtual bool HasLimit (HbrMesh< T > *mesh, HbrFace< T > *face)
 
virtual bool HasLimit (HbrMesh< T > *mesh, HbrHalfedge< T > *edge)
 
virtual bool HasLimit (HbrMesh< T > *mesh, HbrVertex< T > *vertex)
 
virtual HbrVertex< T > * Subdivide (HbrMesh< T > *mesh, HbrFace< T > *face)
 
virtual HbrVertex< T > * Subdivide (HbrMesh< T > *mesh, HbrHalfedge< T > *edge)
 
virtual HbrVertex< T > * Subdivide (HbrMesh< T > *mesh, HbrVertex< T > *vertex)
 
virtual bool VertexIsExtraordinary (HbrMesh< T > const *, HbrVertex< T > *vertex)
 
virtual bool FaceIsExtraordinary (HbrMesh< T > const *, HbrFace< T > *face)
 
TriangleSubdivision GetTriangleSubdivisionMethod () const
 
void SetTriangleSubdivisionMethod (TriangleSubdivision method)
 
virtual int GetFaceChildrenCount (int nvertices) const
 
- Public Member Functions inherited from HbrSubdivision< T >
 HbrSubdivision ()
 
virtual ~HbrSubdivision ()
 
virtual void RefineAtVertex (HbrMesh< T > *mesh, HbrVertex< T > *vertex)
 
CreaseSubdivision GetCreaseSubdivisionMethod () const
 
void SetCreaseSubdivisionMethod (CreaseSubdivision method)
 
void SubdivideCreaseWeight (HbrHalfedge< T > *edge, HbrVertex< T > *vertex, HbrHalfedge< T > *subedge)
 

Additional Inherited Members

- Protected Member Functions inherited from HbrSubdivision< T >
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 inherited from HbrSubdivision< T >
CreaseSubdivision creaseSubdivision
 

Detailed Description

template<class T>
class OpenSubdiv::OPENSUBDIV_VERSION::HbrCatmarkSubdivision< T >

Definition at line 37 of file catmark.h.

Member Enumeration Documentation

Enumerator
k_Normal 
k_Old 
k_New 

Definition at line 74 of file catmark.h.

Constructor & Destructor Documentation

Definition at line 39 of file catmark.h.

HbrCatmarkSubdivision ( const HbrCatmarkSubdivision< T > &  old)
inline

Definition at line 42 of file catmark.h.

Member Function Documentation

virtual HbrSubdivision<T>* Clone ( ) const
inlinevirtual

Implements HbrSubdivision< T >.

Definition at line 45 of file catmark.h.

virtual bool FaceIsExtraordinary ( HbrMesh< T > const *  ,
HbrFace< T > *  face 
)
inlinevirtual

Reimplemented from HbrSubdivision< T >.

Definition at line 63 of file catmark.h.

virtual int GetFaceChildrenCount ( int  nvertices) const
inlinevirtual

Implements HbrSubdivision< T >.

Definition at line 82 of file catmark.h.

TriangleSubdivision GetTriangleSubdivisionMethod ( ) const
inline

Definition at line 79 of file catmark.h.

void GuaranteeNeighbor ( HbrMesh< T > *  mesh,
HbrHalfedge< T > *  edge 
)
virtual

Implements HbrSubdivision< T >.

Definition at line 598 of file catmark.h.

void GuaranteeNeighbors ( HbrMesh< T > *  mesh,
HbrVertex< T > *  vertex 
)
virtual

Implements HbrSubdivision< T >.

Definition at line 694 of file catmark.h.

bool HasLimit ( HbrMesh< T > *  mesh,
HbrFace< T > *  face 
)
virtual

Reimplemented from HbrSubdivision< T >.

Definition at line 772 of file catmark.h.

bool HasLimit ( HbrMesh< T > *  mesh,
HbrHalfedge< T > *  edge 
)
virtual

Reimplemented from HbrSubdivision< T >.

Definition at line 786 of file catmark.h.

bool HasLimit ( HbrMesh< T > *  mesh,
HbrVertex< T > *  vertex 
)
virtual

Reimplemented from HbrSubdivision< T >.

Definition at line 800 of file catmark.h.

void Refine ( HbrMesh< T > *  mesh,
HbrFace< T > *  face 
)
virtual

Implements HbrSubdivision< T >.

Definition at line 438 of file catmark.h.

HbrFace< T > * RefineFaceAtVertex ( HbrMesh< T > *  mesh,
HbrFace< T > *  face,
HbrVertex< T > *  vertex 
)
virtual

Implements HbrSubdivision< T >.

Definition at line 512 of file catmark.h.

void SetTriangleSubdivisionMethod ( TriangleSubdivision  method)
inline

Definition at line 80 of file catmark.h.

HbrVertex< T > * Subdivide ( HbrMesh< T > *  mesh,
HbrFace< T > *  face 
)
virtual

Implements HbrSubdivision< T >.

Definition at line 838 of file catmark.h.

HbrVertex< T > * Subdivide ( HbrMesh< T > *  mesh,
HbrHalfedge< T > *  edge 
)
virtual

Implements HbrSubdivision< T >.

Definition at line 945 of file catmark.h.

HbrVertex< T > * Subdivide ( HbrMesh< T > *  mesh,
HbrVertex< T > *  vertex 
)
virtual

Implements HbrSubdivision< T >.

Definition at line 1029 of file catmark.h.

virtual bool VertexIsExtraordinary ( HbrMesh< T > const *  ,
HbrVertex< T > *  vertex 
)
inlinevirtual

Reimplemented from HbrSubdivision< T >.

Definition at line 62 of file catmark.h.


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