HDK
|
#include <GU_SubDivPatch.h>
Public Member Functions | |
void | decRefCount () |
int | getRefCount () |
void | catclark (UT_Array< GU_SubDivPatch * > &patches) |
GU_SubDivVertex * | getChild () |
Return the face centroid. More... | |
int | getValence () const |
Return the number of edges and vertices bordering this patch. More... | |
GU_SubDivVertex * | getNextVertex (GU_SubDivVertex *vtx) const |
Return the next vertex after vtx. More... | |
GU_SubDivVertex * | getPrevVertex (GU_SubDivVertex *vtx) const |
bool | getBezier (UT_Array< GU_SubDivVertex * > &vtx, UT_Array< float * > &vtxdata) const |
void | getVertices (UT_Array< GU_SubDivVertex * > &vtx) const |
Get internal and external vertices bordering this patch. More... | |
GU_SubDivVertex * | getVertex (int i) const |
void | getFaceRing (UT_Array< GU_SubDivPatch * > &list) const |
GU_SubDivPatch * | copy () const |
Make an independent copy of this patch with new vertices and edges. More... | |
void | makeLive () |
bool | isLive () const |
void | reverse () |
void | dumpGeo () const |
Dump geometry for the patch as a draw file. More... | |
void | setFlag (uint8 f) |
void | clearFlag (uint8 f) |
void | toggleFlag (uint8 f) |
bool | getFlag (uint8 f) const |
Static Public Member Functions | |
static GU_SubDivPatch * | allocPatch (const UT_Array< GU_SubDivVertex * > &vertices, bool islive) |
static void | freePatch (GU_SubDivPatch *patch) |
Protected Member Functions | |
void | decRefCountInternal () |
void | catclarkPatches (GU_SubDivPatch *face=0) |
Definition at line 302 of file GU_SubDivPatch.h.
|
static |
void GU_SubDivPatch::catclark | ( | UT_Array< GU_SubDivPatch * > & | patches | ) |
Catmull-clark subdivision
Perform subdivision on this patch, creating a new set of subpatches. The caller attains ownership of the patches.
|
protected |
Creates subpatches within this patch. If a face is supplied, we'll only construct subpatches on the boundary with the face.
Definition at line 361 of file GU_SubDivPatch.h.
GU_SubDivPatch* GU_SubDivPatch::copy | ( | ) | const |
Make an independent copy of this patch with new vertices and edges.
void GU_SubDivPatch::decRefCount | ( | ) |
|
inlineprotected |
Definition at line 366 of file GU_SubDivPatch.h.
void GU_SubDivPatch::dumpGeo | ( | ) | const |
Dump geometry for the patch as a draw file.
|
static |
bool GU_SubDivPatch::getBezier | ( | UT_Array< GU_SubDivVertex * > & | vtx, |
UT_Array< float * > & | vtxdata | ||
) | const |
If we're a bezier, returns the bezier hull. The correct vertex attribute associations are returned in the vtxdata array. If we're not a bezier, false is returned.
|
inline |
Return the face centroid.
Definition at line 321 of file GU_SubDivPatch.h.
void GU_SubDivPatch::getFaceRing | ( | UT_Array< GU_SubDivPatch * > & | list | ) | const |
|
inline |
Definition at line 363 of file GU_SubDivPatch.h.
GU_SubDivVertex* GU_SubDivPatch::getNextVertex | ( | GU_SubDivVertex * | vtx | ) | const |
Return the next vertex after vtx.
GU_SubDivVertex* GU_SubDivPatch::getPrevVertex | ( | GU_SubDivVertex * | vtx | ) | const |
|
inline |
Definition at line 310 of file GU_SubDivPatch.h.
|
inline |
Return the number of edges and vertices bordering this patch.
Definition at line 329 of file GU_SubDivPatch.h.
|
inline |
Definition at line 341 of file GU_SubDivPatch.h.
void GU_SubDivPatch::getVertices | ( | UT_Array< GU_SubDivVertex * > & | vtx | ) | const |
Get internal and external vertices bordering this patch.
|
inline |
Definition at line 351 of file GU_SubDivPatch.h.
void GU_SubDivPatch::makeLive | ( | ) |
Live patches are allowed to be externally referenced and keep additional references to the surrounding ring of patches so that all the data required for subdivision is available.
void GU_SubDivPatch::reverse | ( | ) |
Reverse the vertex order for this patch. We'll keep a flag to determine whether it is flipped relative to the original geometry.
Definition at line 360 of file GU_SubDivPatch.h.
Definition at line 362 of file GU_SubDivPatch.h.