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

#include <mesh.h>

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

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
 

Detailed Description

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

Definition at line 55 of file mesh.h.

Member Enumeration Documentation

Enumerator
k_CreaseNormal 
k_CreaseChaikin 

Definition at line 88 of file subdivision.h.

Constructor & Destructor Documentation

HbrSubdivision ( )
inline

Definition at line 39 of file subdivision.h.

virtual ~HbrSubdivision ( )
inlinevirtual

Definition at line 42 of file subdivision.h.

Member Function Documentation

void AddCreaseEdgesWithWeight ( HbrMesh< T > *  mesh,
HbrVertex< T > *  vertex,
bool  next,
float  weight,
T *  data 
)
protected

Definition at line 283 of file subdivision.h.

void AddSurroundingVerticesWithWeight ( HbrMesh< T > *  mesh,
HbrVertex< T > *  vertex,
float  weight,
T *  data 
)
protected

Definition at line 276 of file subdivision.h.

virtual HbrSubdivision<T>* Clone ( ) const
pure virtual
virtual bool FaceIsExtraordinary ( HbrMesh< T > const *  ,
HbrFace< T > *   
)
inlinevirtual
CreaseSubdivision GetCreaseSubdivisionMethod ( ) const
inline

Definition at line 92 of file subdivision.h.

virtual int GetFaceChildrenCount ( int  nvertices) const
pure virtual
virtual void GuaranteeNeighbor ( HbrMesh< T > *  mesh,
HbrHalfedge< T > *  edge 
)
pure virtual
virtual void GuaranteeNeighbors ( HbrMesh< T > *  mesh,
HbrVertex< T > *  vertex 
)
pure virtual
virtual bool HasLimit ( HbrMesh< T > *  ,
HbrFace< T > *   
)
inlinevirtual
virtual bool HasLimit ( HbrMesh< T > *  ,
HbrHalfedge< T > *   
)
inlinevirtual
virtual bool HasLimit ( HbrMesh< T > *  ,
HbrVertex< T > *   
)
inlinevirtual
virtual void Refine ( HbrMesh< T > *  mesh,
HbrFace< T > *  face 
)
pure virtual
void RefineAtVertex ( HbrMesh< T > *  mesh,
HbrVertex< T > *  vertex 
)
virtual

Definition at line 197 of file subdivision.h.

virtual HbrFace<T>* RefineFaceAtVertex ( HbrMesh< T > *  mesh,
HbrFace< T > *  face,
HbrVertex< T > *  vertex 
)
pure virtual
void SetCreaseSubdivisionMethod ( CreaseSubdivision  method)
inline

Definition at line 93 of file subdivision.h.

virtual HbrVertex<T>* Subdivide ( HbrMesh< T > *  mesh,
HbrFace< T > *  face 
)
pure virtual
virtual HbrVertex<T>* Subdivide ( HbrMesh< T > *  mesh,
HbrHalfedge< T > *  edge 
)
pure virtual
virtual HbrVertex<T>* Subdivide ( HbrMesh< T > *  mesh,
HbrVertex< T > *  vertex 
)
pure virtual
void SubdivideCreaseWeight ( HbrHalfedge< T > *  edge,
HbrVertex< T > *  vertex,
HbrHalfedge< T > *  subedge 
)

Definition at line 205 of file subdivision.h.

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

Member Data Documentation

CreaseSubdivision creaseSubdivision
protected

Definition at line 108 of file subdivision.h.


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