GU_SubDivVertex Class Reference

#include <GU_SubDivPatch.h>

List of all members.

Public Member Functions

void incRefCount ()
void decRefCount ()
void setNum (int num)
int getNum () const
GU_SubDivEdgesetEdge (GU_SubDivVertex *vtx, int idx=-1, GU_SubDivEdge *parent=0)
void setEdge (GU_SubDivEdge *edge, int idx)
void clearEdge (GU_SubDivEdge *edge)
void removeEdge (int idx)
void setFace (GU_SubDivPatch *face, int idx=-1)
void clearFace (GU_SubDivPatch *face)
void setAllIncomplete ()
void copyIncomplete (const GU_SubDivVertex *vtx)
void setComplete (int i)
fprealgetData () const
 Get subdivision data associated with this vertex.
fprealgetVertexData (const GU_SubDivPatch *face) const
void setVertexData (const fpreal *data, int idx, const UT_IntArray &offsets)
void defaultVertexData (int low, int high)
 Resets the vertex data at off to the default values.
int getSize () const
int getVertexSize () const
void sum (const GU_SubDivVertex *vtx)
 Operations used to build new data from subdivision rules.
void sum (const GU_SubDivVertex *vtx, const GU_SubDivPatch *face)
void sumVertex (const GU_SubDivVertex *vtx, const GU_SubDivPatch *face, int idx, int low=0, int high=-1)
void scale (fpreal scale)
void scaleVertex (fpreal scale, int low=0, int high=-1)
void copyVertex (int src, int dest, int low=0, int high=-1)
void getVertices (UT_PtrArray< GU_SubDivVertex * > &list)
void getFaces (UT_PtrArray< GU_SubDivPatch * > &list, const GU_SubDivPatch *face) const
GU_SubDivVertexgetChild ()
 Calculate the new subdivision point using the catmull-clark masks.
int getEdgeIndex (const GU_SubDivVertex *vtx) const
GU_SubDivEdgegetEdge (int idx) const
GU_SubDivEdgegetEdge (const GU_SubDivVertex *vtx) const
GU_SubDivVertexgetEdgeChild (const GU_SubDivVertex *vtx) const
int getFaceIndex (const GU_SubDivPatch *face) const
GU_SubDivPatchgetFace (int idx) const
bool hasFace (const GU_SubDivPatch *face) const
int getValence () const
bool hasHardEdge () const
void sortEdges ()
 Order the edges using the face set for this vertex.
void setWeight (fpreal weight, bool linear, const GU_SubDivPatch *face)
void setFlag (uint8 f)
void clearFlag (uint8 f)
bool getFlag (uint8 f) const
void dumpGeo (char c, const GU_SubDivPatch *face=0) const
 Dump geometry for the vertex as a draw file.

Static Public Member Functions

static GU_SubDivVertexallocVertex (int valence, int datasize, int vertexsize)
static GU_SubDivVertexallocVertex (const GU_SubDivVertex &src)
static void freeVertex (GU_SubDivVertex *vtx)

Protected Member Functions

void catclarkRule (GU_SubDivVertex *dest, int creaseidx[2], int hcount)
void catclarkRuleVertex (GU_SubDivVertex *dest, int creaseidx[2], int hcount, int low, int high)


Detailed Description

Definition at line 126 of file GU_SubDivPatch.h.


Member Function Documentation

static GU_SubDivVertex* GU_SubDivVertex::allocVertex ( const GU_SubDivVertex src  )  [static]

static GU_SubDivVertex* GU_SubDivVertex::allocVertex ( int  valence,
int  datasize,
int  vertexsize 
) [static]

void GU_SubDivVertex::catclarkRule ( GU_SubDivVertex dest,
int  creaseidx[2],
int  hcount 
) [protected]

void GU_SubDivVertex::catclarkRuleVertex ( GU_SubDivVertex dest,
int  creaseidx[2],
int  hcount,
int  low,
int  high 
) [protected]

void GU_SubDivVertex::clearEdge ( GU_SubDivEdge edge  ) 

void GU_SubDivVertex::clearFace ( GU_SubDivPatch face  ) 

void GU_SubDivVertex::clearFlag ( uint8  f  )  [inline]

Definition at line 246 of file GU_SubDivPatch.h.

void GU_SubDivVertex::copyIncomplete ( const GU_SubDivVertex vtx  ) 

void GU_SubDivVertex::copyVertex ( int  src,
int  dest,
int  low = 0,
int  high = -1 
)

void GU_SubDivVertex::decRefCount (  )  [inline]

Definition at line 135 of file GU_SubDivPatch.h.

void GU_SubDivVertex::defaultVertexData ( int  low,
int  high 
)

Resets the vertex data at off to the default values.

void GU_SubDivVertex::dumpGeo ( char  c,
const GU_SubDivPatch face = 0 
) const

Dump geometry for the vertex as a draw file.

static void GU_SubDivVertex::freeVertex ( GU_SubDivVertex vtx  )  [static]

GU_SubDivVertex* GU_SubDivVertex::getChild (  )  [inline]

Calculate the new subdivision point using the catmull-clark masks.

Definition at line 215 of file GU_SubDivPatch.h.

fpreal* GU_SubDivVertex::getData ( void   )  const [inline]

Get subdivision data associated with this vertex.

Definition at line 171 of file GU_SubDivPatch.h.

GU_SubDivEdge* GU_SubDivVertex::getEdge ( const GU_SubDivVertex vtx  )  const [inline]

Definition at line 224 of file GU_SubDivPatch.h.

GU_SubDivEdge* GU_SubDivVertex::getEdge ( int  idx  )  const [inline]

Definition at line 223 of file GU_SubDivPatch.h.

GU_SubDivVertex* GU_SubDivVertex::getEdgeChild ( const GU_SubDivVertex vtx  )  const [inline]

Definition at line 229 of file GU_SubDivPatch.h.

int GU_SubDivVertex::getEdgeIndex ( const GU_SubDivVertex vtx  )  const

GU_SubDivPatch* GU_SubDivVertex::getFace ( int  idx  )  const [inline]

Definition at line 233 of file GU_SubDivPatch.h.

int GU_SubDivVertex::getFaceIndex ( const GU_SubDivPatch face  )  const

void GU_SubDivVertex::getFaces ( UT_PtrArray< GU_SubDivPatch * > &  list,
const GU_SubDivPatch face 
) const

bool GU_SubDivVertex::getFlag ( uint8  f  )  const [inline]

Definition at line 247 of file GU_SubDivPatch.h.

int GU_SubDivVertex::getNum (  )  const [inline]

Definition at line 144 of file GU_SubDivPatch.h.

int GU_SubDivVertex::getSize ( void   )  const [inline]

Definition at line 186 of file GU_SubDivPatch.h.

int GU_SubDivVertex::getValence (  )  const [inline]

Definition at line 237 of file GU_SubDivPatch.h.

fpreal* GU_SubDivVertex::getVertexData ( const GU_SubDivPatch face  )  const

int GU_SubDivVertex::getVertexSize (  )  const [inline]

Definition at line 187 of file GU_SubDivPatch.h.

void GU_SubDivVertex::getVertices ( UT_PtrArray< GU_SubDivVertex * > &  list  ) 

bool GU_SubDivVertex::hasFace ( const GU_SubDivPatch face  )  const [inline]

Definition at line 234 of file GU_SubDivPatch.h.

bool GU_SubDivVertex::hasHardEdge (  )  const

void GU_SubDivVertex::incRefCount (  )  [inline]

Definition at line 134 of file GU_SubDivPatch.h.

void GU_SubDivVertex::removeEdge ( int  idx  ) 

Remove an edge from this vertex at the given index. This operation may change the valence.

void GU_SubDivVertex::scale ( fpreal  scale  )  [inline]

Definition at line 200 of file GU_SubDivPatch.h.

void GU_SubDivVertex::scaleVertex ( fpreal  scale,
int  low = 0,
int  high = -1 
)

void GU_SubDivVertex::setAllIncomplete (  ) 

Set and get completion status. We're complete when all our neighbouring edges and faces are defined.

void GU_SubDivVertex::setComplete ( int  i  )  [inline]

Definition at line 168 of file GU_SubDivPatch.h.

void GU_SubDivVertex::setEdge ( GU_SubDivEdge edge,
int  idx 
) [inline]

Definition at line 150 of file GU_SubDivPatch.h.

GU_SubDivEdge* GU_SubDivVertex::setEdge ( GU_SubDivVertex vtx,
int  idx = -1,
GU_SubDivEdge parent = 0 
)

Adds vtx at the specified position in my edge table. If idx == -1, then add vtx to the next available position. Returns the edge.

void GU_SubDivVertex::setFace ( GU_SubDivPatch face,
int  idx = -1 
)

Add the face to the specified position in my face table. If idx == -1, then we'll analyse the edges in the face to decide where to put it.

void GU_SubDivVertex::setFlag ( uint8  f  )  [inline]

Definition at line 245 of file GU_SubDivPatch.h.

void GU_SubDivVertex::setNum ( int  num  )  [inline]

Definition at line 143 of file GU_SubDivPatch.h.

void GU_SubDivVertex::setVertexData ( const fpreal data,
int  idx,
const UT_IntArray offsets 
)

Set vertex data. The index is a face identifier in the current vertex. If a vertex seam is detected, we'll allocate separate face vertex data. The offset array is used to isolate individual vertex attributes so that we can have an independent hard edge mask for each attribute. The offsets are in number of floats and point to the start of each attribute.

void GU_SubDivVertex::setWeight ( fpreal  weight,
bool  linear,
const GU_SubDivPatch face 
)

void GU_SubDivVertex::sortEdges (  ) 

Order the edges using the face set for this vertex.

void GU_SubDivVertex::sum ( const GU_SubDivVertex vtx,
const GU_SubDivPatch face 
)

void GU_SubDivVertex::sum ( const GU_SubDivVertex vtx  )  [inline]

Operations used to build new data from subdivision rules.

Definition at line 190 of file GU_SubDivPatch.h.

void GU_SubDivVertex::sumVertex ( const GU_SubDivVertex vtx,
const GU_SubDivPatch face,
int  idx,
int  low = 0,
int  high = -1 
)


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

Generated on Fri May 25 00:10:29 2012 for HDK by  doxygen 1.5.9