- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
Level Class Reference

`#include <level.h>`

## Classes
struct | ETag
struct | FTag
struct | VTag

## Public Types
enum | TopologyError { TOPOLOGY_MISSING_EDGE_FACES =0, TOPOLOGY_MISSING_EDGE_VERTS, TOPOLOGY_MISSING_FACE_EDGES, TOPOLOGY_MISSING_FACE_VERTS, TOPOLOGY_MISSING_VERT_FACES, TOPOLOGY_MISSING_VERT_EDGES, TOPOLOGY_FAILED_CORRELATION_EDGE_FACE, TOPOLOGY_FAILED_CORRELATION_FACE_VERT, TOPOLOGY_FAILED_CORRELATION_FACE_EDGE, TOPOLOGY_FAILED_ORIENTATION_INCIDENT_EDGE, TOPOLOGY_FAILED_ORIENTATION_INCIDENT_FACE, TOPOLOGY_FAILED_ORIENTATION_INCIDENT_FACES_EDGES, TOPOLOGY_DEGENERATE_EDGE, TOPOLOGY_NON_MANIFOLD_EDGE, TOPOLOGY_INVALID_CREASE_EDGE, TOPOLOGY_INVALID_CREASE_VERT }
typedef void(* | ValidationCallback) (TopologyError errCode, char const *msg, void const *clientData)

## Public Member Functions
VTag | getFaceCompositeVTag (ConstIndexArray &faceVerts) const
ETag | getFaceCompositeETag (ConstIndexArray &faceEdges) const
| Level ()
| ~Level ()
int | getDepth () const
int | getNumVertices () const
int | getNumFaces () const
int | getNumEdges () const
int | getNumFaceVerticesTotal () const
int | getNumFaceEdgesTotal () const
int | getNumEdgeVerticesTotal () const
int | getNumEdgeFacesTotal () const
int | getNumVertexFacesTotal () const
int | getNumVertexEdgesTotal () const
int | getMaxValence () const
int | getMaxEdgeFaces () const
ConstIndexArray | getFaceVertices (Index faceIndex) const
ConstIndexArray | getFaceEdges (Index faceIndex) const
ConstIndexArray | getEdgeVertices (Index edgeIndex) const
ConstIndexArray | getEdgeFaces (Index edgeIndex) const
ConstIndexArray | getVertexFaces (Index vertIndex) const
ConstIndexArray | getVertexEdges (Index vertIndex) const
ConstLocalIndexArray | getEdgeFaceLocalIndices (Index edgeIndex) const
ConstLocalIndexArray | getVertexFaceLocalIndices (Index vertIndex) const
ConstLocalIndexArray | getVertexEdgeLocalIndices (Index vertIndex) const
float | getEdgeSharpness (Index edgeIndex) const
float | getVertexSharpness (Index vertIndex) const
Sdc::Crease::Rule | getVertexRule (Index vertIndex) const
Index | findEdge (Index v0Index, Index v1Index) const
void | setFaceHole (Index faceIndex, bool b)
bool | isFaceHole (Index faceIndex) const
Sdc::Options | getFVarOptions (int channel) const
int | getNumFVarChannels () const
int | getNumFVarValues (int channel) const
ConstIndexArray | getFaceFVarValues (Index faceIndex, int channel) const
FVarLevel & | getFVarLevel (int channel)
FVarLevel const & | getFVarLevel (int channel) const
void | setEdgeNonManifold (Index edgeIndex, bool b)
bool | isEdgeNonManifold (Index edgeIndex) const
void | setVertexNonManifold (Index vertIndex, bool b)
bool | isVertexNonManifold (Index vertIndex) const
VTag const & | getVertexTag (Index vertIndex) const
ETag const & | getEdgeTag (Index edgeIndex) const
FTag const & | getFaceTag (Index faceIndex) const
VTag & | getVertexTag (Index vertIndex)
ETag & | getEdgeTag (Index edgeIndex)
FTag & | getFaceTag (Index faceIndex)
bool | validateTopology (ValidationCallback callback=0, void const *clientData=0) const
void | print (const Refinement *parentRefinement=0) const
bool | isSingleCreasePatch (Index face, float *sharpnessOut=NULL, int *rotationOut=NULL) const
int | gatherQuadLinearPatchPoints (Index fIndex, Index patchPoints[], int rotation=0, int fvarChannel=-1) const
int | gatherQuadRegularInteriorPatchPoints (Index fIndex, Index patchPoints[], int rotation=0, int fvarChannel=-1) const
int | gatherQuadRegularBoundaryPatchPoints (Index fIndex, Index patchPoints[], int boundaryEdgeInFace, int fvarChannel=-1) const
int | gatherQuadRegularCornerPatchPoints (Index fIndex, Index patchPoints[], int cornerVertInFace, int fvarChannel=-1) const
int | gatherQuadRegularRingAroundVertex (Index vIndex, Index ringPoints[], int fvarChannel=-1) const
int | gatherTriRegularInteriorPatchPoints (Index fIndex, Index patchVerts[], int rotation=0) const
int | gatherTriRegularBoundaryVertexPatchPoints (Index fIndex, Index patchVerts[], int boundaryVertInFace) const
int | gatherTriRegularBoundaryEdgePatchPoints (Index fIndex, Index patchVerts[], int boundaryEdgeInFace) const
int | gatherTriRegularCornerVertexPatchPoints (Index fIndex, Index patchVerts[], int cornerVertInFace) const
int | gatherTriRegularCornerEdgePatchPoints (Index fIndex, Index patchVerts[], int cornerEdgeInFace) const
void | resizeFaces (int numFaces)
void | resizeFaceVertices (int numFaceVertsTotal)
void | resizeFaceEdges (int numFaceEdgesTotal)
void | resizeEdges (int numEdges)
void | resizeEdgeVertices ()
void | resizeEdgeFaces (int numEdgeFacesTotal)
void | resizeVertices (int numVertices)
void | resizeVertexFaces (int numVertexFacesTotal)
void | resizeVertexEdges (int numVertexEdgesTotal)
void | setMaxValence (int maxValence)
IndexArray | getFaceVertices (Index faceIndex)
IndexArray | getFaceEdges (Index faceIndex)
IndexArray | getEdgeVertices (Index edgeIndex)
IndexArray | getEdgeFaces (Index edgeIndex)
IndexArray | getVertexFaces (Index vertIndex)
IndexArray | getVertexEdges (Index vertIndex)
LocalIndexArray | getEdgeFaceLocalIndices (Index edgeIndex)
LocalIndexArray | getVertexFaceLocalIndices (Index vertIndex)
LocalIndexArray | getVertexEdgeLocalIndices (Index vertIndex)
float & | getEdgeSharpness (Index edgeIndex)
float & | getVertexSharpness (Index vertIndex)
int | createFVarChannel (int fvarValueCount, Sdc::Options const &options)
void | destroyFVarChannel (int channel)
IndexArray | getFaceFVarValues (Index faceIndex, int channel)
void | completeFVarChannelTopology (int channel, int regBoundaryValence)
int | getNumFaceVertices (Index faceIndex) const
int | getOffsetOfFaceVertices (Index faceIndex) const
int | getNumFaceEdges (Index faceIndex) const
int | getOffsetOfFaceEdges (Index faceIndex) const
int | getNumEdgeVertices (Index) const
int | getOffsetOfEdgeVertices (Index edgeIndex) const
int | getNumEdgeFaces (Index edgeIndex) const
int | getOffsetOfEdgeFaces (Index edgeIndex) const
int | getNumVertexFaces (Index vertIndex) const
int | getOffsetOfVertexFaces (Index vertIndex) const
int | getNumVertexEdges (Index vertIndex) const
int | getOffsetOfVertexEdges (Index vertIndex) const
ConstIndexArray | getFaceVertices () const
void | resizeFaceVertices (Index FaceIndex, int count)
void | resizeEdgeFaces (Index edgeIndex, int count)
void | trimEdgeFaces (Index edgeIndex, int count)
void | resizeVertexFaces (Index vertIndex, int count)
void | trimVertexFaces (Index vertIndex, int count)
void | resizeVertexEdges (Index vertIndex, int count)
void | trimVertexEdges (Index vertIndex, int count)
bool | completeTopologyFromFaceVertices ()
Index | findEdge (Index v0, Index v1, ConstIndexArray v0Edges) const
void | orientIncidentComponents ()
bool | orderVertexFacesAndEdges (Index vIndex, Index *vFaces, Index *vEdges) const
bool | orderVertexFacesAndEdges (Index vIndex)
void | populateLocalIndices ()
IndexArray | shareFaceVertCountsAndOffsets () const

## Static Public Member Functions
static char const * | getTopologyErrorString (TopologyError errCode)

## Friends
class | Refinement
class | TriRefinement
class | QuadRefinement

## Detailed Description

Definition at line 83 of file level.h.

## Member Typedef Documentation

typedef void(* ValidationCallback) (TopologyError errCode, char const *msg, void const *clientData)

Definition at line 260 of file level.h.

## Member Enumeration Documentation

enum TopologyError

Enumerator
TOPOLOGY_MISSING_EDGE_FACES |
TOPOLOGY_MISSING_EDGE_VERTS |
TOPOLOGY_MISSING_FACE_EDGES |
TOPOLOGY_MISSING_FACE_VERTS |
TOPOLOGY_MISSING_VERT_FACES |
TOPOLOGY_MISSING_VERT_EDGES |
TOPOLOGY_FAILED_CORRELATION_EDGE_FACE |
TOPOLOGY_FAILED_CORRELATION_FACE_VERT |
TOPOLOGY_FAILED_CORRELATION_FACE_EDGE |
TOPOLOGY_FAILED_ORIENTATION_INCIDENT_EDGE |
TOPOLOGY_FAILED_ORIENTATION_INCIDENT_FACE |
TOPOLOGY_FAILED_ORIENTATION_INCIDENT_FACES_EDGES |
TOPOLOGY_DEGENERATE_EDGE |
TOPOLOGY_NON_MANIFOLD_EDGE |
TOPOLOGY_INVALID_CREASE_EDGE |
TOPOLOGY_INVALID_CREASE_VERT |

Definition at line 235 of file level.h.

## Constructor & Destructor Documentation

Level | ( |  | ) |

~Level | ( |  | ) |

## Member Function Documentation

void completeFVarChannelTopology | ( | int | channel,
|  | int | regBoundaryValence
| ) |  |

bool completeTopologyFromFaceVertices | ( |  | ) |

int createFVarChannel | ( | int | fvarValueCount,
|  | Sdc::Options const & | options
| ) |  |

void destroyFVarChannel | ( | int | channel | ) |

Index findEdge | ( | Index | v0Index,
|  | Index | v1Index
| ) |  | const

Index findEdge | ( | Index | v0,
|  | Index | v1,
|  | ConstIndexArray | v0Edges
| ) |  | const

int gatherQuadLinearPatchPoints | ( | Index | fIndex,
|  | Index | patchPoints[],
|  | int | rotation = `0`,
|  | int | fvarChannel = `-1`
| ) |  | const

int gatherQuadRegularBoundaryPatchPoints | ( | Index | fIndex,
|  | Index | patchPoints[],
|  | int | boundaryEdgeInFace,
|  | int | fvarChannel = `-1`
| ) |  | const

int gatherQuadRegularCornerPatchPoints | ( | Index | fIndex,
|  | Index | patchPoints[],
|  | int | cornerVertInFace,
|  | int | fvarChannel = `-1`
| ) |  | const

int gatherQuadRegularInteriorPatchPoints | ( | Index | fIndex,
|  | Index | patchPoints[],
|  | int | rotation = `0`,
|  | int | fvarChannel = `-1`
| ) |  | const

int gatherQuadRegularRingAroundVertex | ( | Index | vIndex,
|  | Index | ringPoints[],
|  | int | fvarChannel = `-1`
| ) |  | const

int gatherTriRegularBoundaryEdgePatchPoints | ( | Index | fIndex,
|  | Index | patchVerts[],
|  | int | boundaryEdgeInFace
| ) |  | const

int gatherTriRegularBoundaryVertexPatchPoints | ( | Index | fIndex,
|  | Index | patchVerts[],
|  | int | boundaryVertInFace
| ) |  | const

int gatherTriRegularCornerEdgePatchPoints | ( | Index | fIndex,
|  | Index | patchVerts[],
|  | int | cornerEdgeInFace
| ) |  | const

int gatherTriRegularCornerVertexPatchPoints | ( | Index | fIndex,
|  | Index | patchVerts[],
|  | int | cornerVertInFace
| ) |  | const

int gatherTriRegularInteriorPatchPoints | ( | Index | fIndex,
|  | Index | patchVerts[],
|  | int | rotation = `0`
| ) |  | const

int getDepth | ( |  | ) | const
| inline

Definition at line 157 of file level.h.

ConstLocalIndexArray getEdgeFaceLocalIndices | ( | Index | edgeIndex | ) | const
| inline

Definition at line 629 of file level.h.

LocalIndexArray getEdgeFaceLocalIndices | ( | Index | edgeIndex | ) |
| inline

Definition at line 635 of file level.h.

ConstIndexArray getEdgeFaces | ( | Index | edgeIndex | ) | const
| inline

Definition at line 616 of file level.h.

IndexArray getEdgeFaces | ( | Index | edgeIndex | ) |
| inline

Definition at line 622 of file level.h.

float getEdgeSharpness | ( | Index | edgeIndex | ) | const
| inline

Definition at line 659 of file level.h.

float & getEdgeSharpness | ( | Index | edgeIndex | ) |
| inline

Definition at line 663 of file level.h.

ETag const& getEdgeTag | ( | Index | edgeIndex | ) | const
| inline

Definition at line 225 of file level.h.

ETag& getEdgeTag | ( | Index | edgeIndex | ) |
| inline

Definition at line 229 of file level.h.

ConstIndexArray getEdgeVertices | ( | Index | edgeIndex | ) | const
| inline

Definition at line 604 of file level.h.

IndexArray getEdgeVertices | ( | Index | edgeIndex | ) |
| inline

Definition at line 608 of file level.h.

ETag getFaceCompositeETag | ( | ConstIndexArray & | faceEdges | ) | const

VTag getFaceCompositeVTag | ( | ConstIndexArray & | faceVerts | ) | const

ConstIndexArray getFaceEdges | ( | Index | faceIndex | ) | const
| inline

Definition at line 509 of file level.h.

IndexArray getFaceEdges | ( | Index | faceIndex | ) |
| inline

Definition at line 514 of file level.h.

ConstIndexArray getFaceFVarValues | ( | Index | faceIndex,
|  | int | channel
| ) |  | const

IndexArray getFaceFVarValues | ( | Index | faceIndex,
|  | int | channel
| ) |  |

FTag const& getFaceTag | ( | Index | faceIndex | ) | const
| inline

Definition at line 226 of file level.h.

FTag& getFaceTag | ( | Index | faceIndex | ) |
| inline

Definition at line 230 of file level.h.

ConstIndexArray getFaceVertices | ( | Index | faceIndex | ) | const
| inline

Definition at line 479 of file level.h.

IndexArray getFaceVertices | ( | Index | faceIndex | ) |
| inline

Definition at line 484 of file level.h.

ConstIndexArray getFaceVertices | ( |  | ) | const
| inline

Definition at line 501 of file level.h.

FVarLevel& getFVarLevel | ( | int | channel | ) |
| inline

Definition at line 213 of file level.h.

FVarLevel const& getFVarLevel | ( | int | channel | ) | const
| inline

Definition at line 214 of file level.h.

Sdc::Options getFVarOptions | ( | int | channel | ) | const

int getMaxEdgeFaces | ( |  | ) | const
| inline

Definition at line 172 of file level.h.

int getMaxValence | ( |  | ) | const
| inline

Definition at line 171 of file level.h.

int getNumEdgeFaces | ( | Index | edgeIndex | ) | const
| inline

Definition at line 347 of file level.h.

int getNumEdgeFacesTotal | ( |  | ) | const
| inline

Definition at line 167 of file level.h.

int getNumEdges | ( |  | ) | const
| inline

Definition at line 161 of file level.h.

int getNumEdgeVertices | ( | Index |  | ) | const
| inline

Definition at line 344 of file level.h.

int getNumEdgeVerticesTotal | ( |  | ) | const
| inline

Definition at line 166 of file level.h.

int getNumFaceEdges | ( | Index | faceIndex | ) | const
| inline

Definition at line 341 of file level.h.

int getNumFaceEdgesTotal | ( |  | ) | const
| inline

Definition at line 165 of file level.h.

int getNumFaces | ( |  | ) | const
| inline

Definition at line 160 of file level.h.

int getNumFaceVertices | ( | Index | faceIndex | ) | const
| inline

Definition at line 338 of file level.h.

int getNumFaceVerticesTotal | ( |  | ) | const
| inline

Definition at line 164 of file level.h.

int getNumFVarChannels | ( |  | ) | const
| inline

Definition at line 209 of file level.h.

int getNumFVarValues | ( | int | channel | ) | const

int getNumVertexEdges | ( | Index | vertIndex | ) | const
| inline

Definition at line 353 of file level.h.

int getNumVertexEdgesTotal | ( |  | ) | const
| inline

Definition at line 169 of file level.h.

int getNumVertexFaces | ( | Index | vertIndex | ) | const
| inline

Definition at line 350 of file level.h.

int getNumVertexFacesTotal | ( |  | ) | const
| inline

Definition at line 168 of file level.h.

int getNumVertices | ( |  | ) | const
| inline

Definition at line 159 of file level.h.

int getOffsetOfEdgeFaces | ( | Index | edgeIndex | ) | const
| inline

Definition at line 348 of file level.h.

int getOffsetOfEdgeVertices | ( | Index | edgeIndex | ) | const
| inline

Definition at line 345 of file level.h.

int getOffsetOfFaceEdges | ( | Index | faceIndex | ) | const
| inline

Definition at line 342 of file level.h.

int getOffsetOfFaceVertices | ( | Index | faceIndex | ) | const
| inline

Definition at line 339 of file level.h.

int getOffsetOfVertexEdges | ( | Index | vertIndex | ) | const
| inline

Definition at line 354 of file level.h.

int getOffsetOfVertexFaces | ( | Index | vertIndex | ) | const
| inline

Definition at line 351 of file level.h.

static char const* getTopologyErrorString | ( | TopologyError | errCode | ) |
| static

ConstLocalIndexArray getVertexEdgeLocalIndices | ( | Index | vertIndex | ) | const
| inline

Definition at line 571 of file level.h.

LocalIndexArray getVertexEdgeLocalIndices | ( | Index | vertIndex | ) |
| inline

Definition at line 576 of file level.h.

ConstIndexArray getVertexEdges | ( | Index | vertIndex | ) | const
| inline

Definition at line 560 of file level.h.

IndexArray getVertexEdges | ( | Index | vertIndex | ) |
| inline

Definition at line 565 of file level.h.

ConstLocalIndexArray getVertexFaceLocalIndices | ( | Index | vertIndex | ) | const
| inline

Definition at line 534 of file level.h.

LocalIndexArray getVertexFaceLocalIndices | ( | Index | vertIndex | ) |
| inline

Definition at line 539 of file level.h.

ConstIndexArray getVertexFaces | ( | Index | vertIndex | ) | const
| inline

Definition at line 523 of file level.h.

IndexArray getVertexFaces | ( | Index | vertIndex | ) |
| inline

Definition at line 528 of file level.h.

Sdc::Crease::Rule getVertexRule | ( | Index | vertIndex | ) | const
| inline

Definition at line 677 of file level.h.

float getVertexSharpness | ( | Index | vertIndex | ) | const
| inline

Definition at line 668 of file level.h.

float & getVertexSharpness | ( | Index | vertIndex | ) |
| inline

Definition at line 672 of file level.h.

VTag const& getVertexTag | ( | Index | vertIndex | ) | const
| inline

Definition at line 224 of file level.h.

VTag& getVertexTag | ( | Index | vertIndex | ) |
| inline

Definition at line 228 of file level.h.

bool isEdgeNonManifold | ( | Index | edgeIndex | ) | const
| inline

Definition at line 701 of file level.h.

bool isFaceHole | ( | Index | faceIndex | ) | const
| inline

Definition at line 689 of file level.h.

bool isSingleCreasePatch | ( | Index | face,
|  | float * | sharpnessOut = `NULL`,
|  | int * | rotationOut = `NULL`
| ) |  | const

bool isVertexNonManifold | ( | Index | vertIndex | ) | const
| inline

Definition at line 710 of file level.h.

bool orderVertexFacesAndEdges | ( | Index | vIndex,
|  | Index * | vFaces,
|  | Index * | vEdges
| ) |  | const

bool orderVertexFacesAndEdges | ( | Index | vIndex | ) |

void orientIncidentComponents | ( |  | ) |

void populateLocalIndices | ( |  | ) |

void print | ( | const Refinement * | parentRefinement = `0` | ) | const

void resizeEdgeFaces | ( | int | numEdgeFacesTotal | ) |
| inline

Definition at line 753 of file level.h.

void resizeEdgeFaces | ( | Index | edgeIndex,
|  | int | count
| ) |  |
| inline

Definition at line 642 of file level.h.

void resizeEdges | ( | int | numEdges | ) |
| inline

Definition at line 735 of file level.h.

void resizeEdgeVertices | ( |  | ) |
| inline

Definition at line 748 of file level.h.

void resizeFaceEdges | ( | int | numFaceEdgesTotal | ) |
| inline

Definition at line 730 of file level.h.

void resizeFaces | ( | int | numFaces | ) |
| inline

Definition at line 718 of file level.h.

void resizeFaceVertices | ( | int | numFaceVertsTotal | ) |
| inline

Definition at line 726 of file level.h.

void resizeFaceVertices | ( | Index | FaceIndex,
|  | int | count
| ) |  |
| inline

Definition at line 490 of file level.h.

void resizeVertexEdges | ( | int | numVertexEdgesTotal | ) |
| inline

Definition at line 777 of file level.h.

void resizeVertexEdges | ( | Index | vertIndex,
|  | int | count
| ) |  |
| inline

Definition at line 582 of file level.h.

void resizeVertexFaces | ( | int | numVertexFacesTotal | ) |
| inline

Definition at line 771 of file level.h.

void resizeVertexFaces | ( | Index | vertIndex,
|  | int | count
| ) |  |
| inline

Definition at line 545 of file level.h.

void resizeVertices | ( | int | numVertices | ) |
| inline

Definition at line 760 of file level.h.

void setEdgeNonManifold | ( | Index | edgeIndex,
|  | bool | b
| ) |  |
| inline

Definition at line 697 of file level.h.

void setFaceHole | ( | Index | faceIndex,
|  | bool | b
| ) |  |
| inline

Definition at line 685 of file level.h.

void setMaxValence | ( | int | maxValence | ) |
| inline

Definition at line 596 of file level.h.

void setVertexNonManifold | ( | Index | vertIndex,
|  | bool | b
| ) |  |
| inline

Definition at line 706 of file level.h.

IndexArray shareFaceVertCountsAndOffsets | ( |  | ) | const
| inline

Definition at line 784 of file level.h.

void trimEdgeFaces | ( | Index | edgeIndex,
|  | int | count
| ) |  |
| inline

Definition at line 651 of file level.h.

void trimVertexEdges | ( | Index | vertIndex,
|  | int | count
| ) |  |
| inline

Definition at line 591 of file level.h.

void trimVertexFaces | ( | Index | vertIndex,
|  | int | count
| ) |  |
| inline

Definition at line 552 of file level.h.

bool validateTopology | ( | ValidationCallback | callback = `0`,
|  | void const * | clientData = `0`
| ) |  | const

## Friends And Related Function Documentation

friend class QuadRefinement
| friend

Definition at line 402 of file level.h.

friend class Refinement
| friend

Definition at line 400 of file level.h.

friend class TriRefinement
| friend

Definition at line 401 of file level.h.

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

- opensubdiv/vtr/level.h