#include <GU_SubDivPatch.h>
Public Member Functions | |
| void | decRefCount () |
| int | getRefCount () |
| void | catclark (UT_PtrArray< GU_SubDivPatch * > &patches) |
| GU_SubDivVertex * | getChild () |
| Return the face centroid. | |
| int | getValence () const |
| Return the number of edges and vertices bordering this patch. | |
| GU_SubDivVertex * | getNextVertex (GU_SubDivVertex *vtx) const |
| Return the next vertex after vtx. | |
| GU_SubDivVertex * | getPrevVertex (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_SubDivVertex * | getVertex (int i) const |
| void | getFaceRing (UT_PtrArray< GU_SubDivPatch * > &list) const |
| GU_SubDivPatch * | copy () 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_SubDivPatch * | allocPatch (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) |
Definition at line 290 of file GU_SubDivPatch.h.
| 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] |
| 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.
1.5.9