GU_SubDivPatch Class Reference

#include <GU_SubDivPatch.h>

List of all members.

Public Member Functions

void decRefCount ()
int getRefCount ()
void catclark (UT_PtrArray< GU_SubDivPatch * > &patches)
GU_SubDivVertexgetChild ()
 Return the face centroid.
int getValence () const
 Return the number of edges and vertices bordering this patch.
GU_SubDivVertexgetNextVertex (GU_SubDivVertex *vtx) const
 Return the next vertex after vtx.
GU_SubDivVertexgetPrevVertex (GU_SubDivVertex *vtx) const
bool isBezier () const
 Check whether this is a bezier patch.
void getBezier (UT_PtrArray< GU_SubDivVertex * > &vtx, UT_PtrArray< fpreal * > &vtxdata) const
void getVertices (UT_PtrArray< GU_SubDivVertex * > &vtx) const
 Get internal and external vertices bordering this patch.
GU_SubDivVertexgetVertex (int i) const
void getFaceRing (UT_PtrArray< GU_SubDivPatch * > &list) const
GU_SubDivPatchcopy () const
 Make an independent copy of this patch with new vertices and edges.
void makeLive ()
bool isLive () const
void reverse ()
void dumpGeo () const
 Dump geometry for the patch as a draw file.
void setFlag (uint8 f)
void clearFlag (uint8 f)
void toggleFlag (uint8 f)
bool getFlag (uint8 f) const

Static Public Member Functions

static GU_SubDivPatchallocPatch (const UT_PtrArray< GU_SubDivVertex * > &vertices, bool islive)
static void freePatch (GU_SubDivPatch *patch)

Protected Member Functions

void decRefCountInternal ()
void catclarkPatches (GU_SubDivPatch *face=0)


Detailed Description

Definition at line 290 of file GU_SubDivPatch.h.


Member Function Documentation

static GU_SubDivPatch* GU_SubDivPatch::allocPatch ( const UT_PtrArray< GU_SubDivVertex * > &  vertices,
bool  islive 
) [static]

void GU_SubDivPatch::catclark ( UT_PtrArray< GU_SubDivPatch * > &  patches  ) 

Catmull-clark subdivision

Perform subdivision on this patch, creating a new set of subpatches. The caller attains ownership of the patches.

void GU_SubDivPatch::catclarkPatches ( GU_SubDivPatch face = 0  )  [protected]

Creates subpatches within this patch. If a face is supplied, we'll only construct subpatches on the boundary with the face.

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

Definition at line 350 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 (  ) 

void GU_SubDivPatch::decRefCountInternal (  )  [inline, protected]

Definition at line 355 of file GU_SubDivPatch.h.

void GU_SubDivPatch::dumpGeo (  )  const

Dump geometry for the patch as a draw file.

static void GU_SubDivPatch::freePatch ( GU_SubDivPatch patch  )  [static]

void GU_SubDivPatch::getBezier ( UT_PtrArray< GU_SubDivVertex * > &  vtx,
UT_PtrArray< fpreal * > &  vtxdata 
) const

If we're a bezier, returns the bezier hull. The correct vertex attribute associations are returned in the vtxdata array.

GU_SubDivVertex* GU_SubDivPatch::getChild (  )  [inline]

Return the face centroid.

Definition at line 309 of file GU_SubDivPatch.h.

void GU_SubDivPatch::getFaceRing ( UT_PtrArray< GU_SubDivPatch * > &  list  )  const

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

Definition at line 352 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

int GU_SubDivPatch::getRefCount (  )  [inline]

Definition at line 298 of file GU_SubDivPatch.h.

int GU_SubDivPatch::getValence (  )  const [inline]

Return the number of edges and vertices bordering this patch.

Definition at line 317 of file GU_SubDivPatch.h.

GU_SubDivVertex* GU_SubDivPatch::getVertex ( int  i  )  const [inline]

Definition at line 330 of file GU_SubDivPatch.h.

void GU_SubDivPatch::getVertices ( UT_PtrArray< GU_SubDivVertex * > &  vtx  )  const

Get internal and external vertices bordering this patch.

bool GU_SubDivPatch::isBezier (  )  const

Check whether this is a bezier patch.

bool GU_SubDivPatch::isLive (  )  const [inline]

Definition at line 340 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.

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

Definition at line 349 of file GU_SubDivPatch.h.

void GU_SubDivPatch::toggleFlag ( uint8  f  )  [inline]

Definition at line 351 of file GU_SubDivPatch.h.


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