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

#include <face.h>

Public Types

enum  Mask {
  k_Smooth = 0, k_Dart = 1, k_Crease = 2, k_Corner = 3,
  k_InfinitelySharp = 10
}
 
enum  ParentType { k_ParentNone, k_ParentFace, k_ParentEdge, k_ParentVertex }
 

Public Member Functions

 HbrVertex ()
 
 HbrVertex (int vid, const T &data, int fvarwidth)
 
void Initialize (int vid, const T &data, int fvarwidth)
 
 ~HbrVertex ()
 
void Destroy (HbrMesh< T > *mesh=0)
 
void AddIncidentEdge (HbrHalfedge< T > *edge)
 
void RemoveIncidentEdge (HbrHalfedge< T > *edge)
 
bool EdgeRemovalWillMakeSingular (HbrHalfedge< T > *edge) const
 
void Finish ()
 
int GetValence () const
 
int GetCoarseValence () const
 
int GetID () const
 
T & GetData ()
 
const T & GetData () const
 
HbrFVarData< T > & GetFVarData (const HbrFace< T > *face)
 
HbrFVarData< T > & NewFVarData (const HbrFace< T > *face)
 
HbrFace< T > * GetFace () const
 
HbrMesh< T > * GetMesh () const
 
HbrHalfedge< T > * GetEdge (const HbrVertex< T > *dest) const
 
HbrHalfedge< T > * GetEdge (int dest) const
 
HbrHalfedge< T > * GetNextEdge (const HbrHalfedge< T > *edge) const
 
HbrHalfedge< T > * GetPreviousEdge (const HbrHalfedge< T > *edge) const
 
HbrVertex< T > * GetQEONext (const HbrVertex< T > *dest) const
 
HbrVertex< T > * GetQEONext (const HbrHalfedge< T > *edge) const
 
HbrVertex< T > * GetQEOPrev (const HbrHalfedge< T > *edge) const
 
HbrVertex< T > * GetQEOPrev (const HbrVertex< T > *dest) const
 
HbrVertex< T > * GetQELNext (const HbrVertex< T > *dest) const
 
bool OnBoundary () const
 
bool IsFVarSmooth (int datum)
 
bool IsFVarAllSmooth ()
 
bool IsFVarDart (int datum)
 
bool IsFVarCorner (int datum)
 
float GetSharpness () const
 
void SetSharpness (float sharp)
 
bool IsSharp (bool next) const
 
void ClearMask ()
 
unsigned char GetMask (bool next)
 
unsigned char GetFVarMask (int datum)
 
float GetFractionalMask () const
 
bool IsSingular () const
 
template<typename OutputIterator >
void GetSurroundingEdges (OutputIterator edges) const
 
void ApplyOperatorSurroundingEdges (HbrHalfedgeOperator< T > &op) const
 
template<typename OutputIterator >
void GetSurroundingVertices (OutputIterator vertices) const
 
void ApplyOperatorSurroundingVertices (HbrVertexOperator< T > &op) const
 
void ApplyOperatorSurroundingFaces (HbrFaceOperator< T > &op) const
 
HbrHalfedge< T > * GetParentEdge () const
 
HbrFace< T > * GetParentFace () const
 
HbrVertex< T > * GetParentVertex () const
 
void SetParent (HbrHalfedge< T > *edge)
 
void SetParent (HbrFace< T > *face)
 
void SetParent (HbrVertex< T > *vertex)
 
HbrVertex< T > * Subdivide ()
 
void Refine ()
 
void GuaranteeNeighbors ()
 
void UnGuaranteeNeighbors ()
 
bool HasChild () const
 
void RemoveChild ()
 
bool IsReferenced () const
 
bool IsExtraordinary () const
 
void SetExtraordinary ()
 
bool IsVolatile ()
 
bool IsCollected () const
 
void SetCollected ()
 
void ClearCollected ()
 
bool HasVertexEdit () const
 
void SetVertexEdit ()
 
void ClearVertexEdit ()
 
unsigned long GetMemStats () const
 
bool IsConnected () const
 
HbrHalfedge< T > * GetIncidentEdge () const
 
void IncrementUsage ()
 
void DecrementUsage ()
 
bool IsUsed () const
 
HbrVertex< T > *& GetNext ()
 
void * GetClientData (HbrMesh< T > *mesh) const
 
void SetClientData (HbrMesh< T > *mesh, void *data)
 

Detailed Description

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

Definition at line 47 of file face.h.

Member Enumeration Documentation

enum Mask
Enumerator
k_Smooth 
k_Dart 
k_Crease 
k_Corner 
k_InfinitelySharp 

Definition at line 296 of file vertex.h.

enum ParentType
Enumerator
k_ParentNone 
k_ParentFace 
k_ParentEdge 
k_ParentVertex 

Definition at line 326 of file vertex.h.

Constructor & Destructor Documentation

HbrVertex ( )

Definition at line 426 of file vertex.h.

HbrVertex ( int  vid,
const T &  data,
int  fvarwidth 
)
inline

Definition at line 51 of file vertex.h.

~HbrVertex ( )

Definition at line 469 of file vertex.h.

Member Function Documentation

void AddIncidentEdge ( HbrHalfedge< T > *  edge)

Definition at line 513 of file vertex.h.

void ApplyOperatorSurroundingEdges ( HbrHalfedgeOperator< T > &  op) const

Definition at line 1351 of file vertex.h.

void ApplyOperatorSurroundingFaces ( HbrFaceOperator< T > &  op) const

Definition at line 1413 of file vertex.h.

void ApplyOperatorSurroundingVertices ( HbrVertexOperator< T > &  op) const

Definition at line 1394 of file vertex.h.

void ClearCollected ( )
inline

Definition at line 269 of file vertex.h.

void ClearMask ( )
inline

Definition at line 171 of file vertex.h.

void ClearVertexEdit ( )
inline

Definition at line 274 of file vertex.h.

void DecrementUsage ( )
inline

Definition at line 308 of file vertex.h.

void Destroy ( HbrMesh< T > *  mesh = 0)

Definition at line 475 of file vertex.h.

bool EdgeRemovalWillMakeSingular ( HbrHalfedge< T > *  edge) const

Definition at line 800 of file vertex.h.

void Finish ( )

Definition at line 835 of file vertex.h.

void* GetClientData ( HbrMesh< T > *  mesh) const
inline

Definition at line 317 of file vertex.h.

int GetCoarseValence ( ) const

Definition at line 866 of file vertex.h.

T& GetData ( )
inline

Definition at line 82 of file vertex.h.

const T& GetData ( ) const
inline

Definition at line 85 of file vertex.h.

HbrHalfedge< T > * GetEdge ( const HbrVertex< T > *  dest) const

Definition at line 954 of file vertex.h.

HbrHalfedge< T > * GetEdge ( int  dest) const

Definition at line 972 of file vertex.h.

HbrFace< T > * GetFace ( ) const

Definition at line 942 of file vertex.h.

float GetFractionalMask ( ) const

Definition at line 1294 of file vertex.h.

HbrFVarData< T > & GetFVarData ( const HbrFace< T > *  face)

Definition at line 887 of file vertex.h.

unsigned char GetFVarMask ( int  datum)

Definition at line 1251 of file vertex.h.

int GetID ( ) const
inline

Definition at line 79 of file vertex.h.

HbrHalfedge<T>* GetIncidentEdge ( ) const
inline

Definition at line 285 of file vertex.h.

unsigned char GetMask ( bool  next)

Definition at line 1179 of file vertex.h.

unsigned long GetMemStats ( ) const

Definition at line 1475 of file vertex.h.

HbrMesh< T > * GetMesh ( ) const

Definition at line 948 of file vertex.h.

HbrVertex<T>*& GetNext ( )
inline

Definition at line 314 of file vertex.h.

HbrHalfedge< T > * GetNextEdge ( const HbrHalfedge< T > *  edge) const

Definition at line 990 of file vertex.h.

HbrHalfedge<T>* GetParentEdge ( ) const
inline

Definition at line 220 of file vertex.h.

HbrFace<T>* GetParentFace ( ) const
inline

Definition at line 221 of file vertex.h.

HbrVertex<T>* GetParentVertex ( ) const
inline

Definition at line 222 of file vertex.h.

HbrHalfedge< T > * GetPreviousEdge ( const HbrHalfedge< T > *  edge) const

Definition at line 998 of file vertex.h.

HbrVertex< T > * GetQELNext ( const HbrVertex< T > *  dest) const

Definition at line 1100 of file vertex.h.

HbrVertex< T > * GetQEONext ( const HbrVertex< T > *  dest) const

Definition at line 1006 of file vertex.h.

HbrVertex< T > * GetQEONext ( const HbrHalfedge< T > *  edge) const

Definition at line 1040 of file vertex.h.

HbrVertex< T > * GetQEOPrev ( const HbrHalfedge< T > *  edge) const

Definition at line 1089 of file vertex.h.

HbrVertex< T > * GetQEOPrev ( const HbrVertex< T > *  dest) const

Definition at line 1047 of file vertex.h.

float GetSharpness ( ) const
inline

Definition at line 159 of file vertex.h.

void GetSurroundingEdges ( OutputIterator  edges) const

Definition at line 1331 of file vertex.h.

void GetSurroundingVertices ( OutputIterator  vertices) const

Definition at line 1371 of file vertex.h.

int GetValence ( ) const

Definition at line 848 of file vertex.h.

void GuaranteeNeighbors ( )

Definition at line 1443 of file vertex.h.

bool HasChild ( ) const
inline

Definition at line 247 of file vertex.h.

bool HasVertexEdit ( ) const
inline

Definition at line 272 of file vertex.h.

void IncrementUsage ( )
inline

Definition at line 305 of file vertex.h.

void Initialize ( int  vid,
const T &  data,
int  fvarwidth 
)

Definition at line 438 of file vertex.h.

bool IsCollected ( ) const
inline

Definition at line 267 of file vertex.h.

bool IsConnected ( ) const
inline

Definition at line 281 of file vertex.h.

bool IsExtraordinary ( ) const
inline

Definition at line 257 of file vertex.h.

bool IsFVarAllSmooth ( )

Definition at line 1128 of file vertex.h.

bool IsFVarCorner ( int  datum)

Definition at line 1143 of file vertex.h.

bool IsFVarDart ( int  datum)

Definition at line 1137 of file vertex.h.

bool IsFVarSmooth ( int  datum)

Definition at line 1122 of file vertex.h.

bool IsReferenced ( ) const
inline

Definition at line 254 of file vertex.h.

bool IsSharp ( bool  next) const
inline

Definition at line 167 of file vertex.h.

bool IsSingular ( ) const
inline

Definition at line 191 of file vertex.h.

bool IsUsed ( ) const
inline

Definition at line 311 of file vertex.h.

bool IsVolatile ( )
inline

Definition at line 264 of file vertex.h.

HbrFVarData< T > & NewFVarData ( const HbrFace< T > *  face)

Definition at line 907 of file vertex.h.

bool OnBoundary ( ) const

Definition at line 1114 of file vertex.h.

void Refine ( )

Definition at line 1436 of file vertex.h.

void RemoveChild ( )
inline

Definition at line 250 of file vertex.h.

void RemoveIncidentEdge ( HbrHalfedge< T > *  edge)

Definition at line 685 of file vertex.h.

void SetClientData ( HbrMesh< T > *  mesh,
void *  data 
)
inline

Definition at line 322 of file vertex.h.

void SetCollected ( )
inline

Definition at line 268 of file vertex.h.

void SetExtraordinary ( )
inline

Definition at line 260 of file vertex.h.

void SetParent ( HbrHalfedge< T > *  edge)
inline

Definition at line 225 of file vertex.h.

void SetParent ( HbrFace< T > *  face)
inline

Definition at line 226 of file vertex.h.

void SetParent ( HbrVertex< T > *  vertex)
inline

Definition at line 227 of file vertex.h.

void SetSharpness ( float  sharp)
inline

Definition at line 162 of file vertex.h.

void SetVertexEdit ( )
inline

Definition at line 273 of file vertex.h.

HbrVertex< T > * Subdivide ( )

Definition at line 1425 of file vertex.h.

void UnGuaranteeNeighbors ( )
inline

Definition at line 240 of file vertex.h.

Member Data Documentation

HbrHalfedge<T>* edge

Definition at line 402 of file vertex.h.

HbrHalfedge<T>** edges

Definition at line 403 of file vertex.h.

HbrFace<T>* face

Definition at line 407 of file vertex.h.

HbrVertex<T>* vertex

Definition at line 409 of file vertex.h.


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