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
 
FVarLevelgetFVarLevel (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
 
VTaggetVertexTag (Index vertIndex)
 
ETaggetEdgeTag (Index edgeIndex)
 
FTaggetFaceTag (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

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 627 of file level.h.

LocalIndexArray getEdgeFaceLocalIndices ( Index  edgeIndex)
inline

Definition at line 632 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 621 of file level.h.

float getEdgeSharpness ( Index  edgeIndex) const
inline

Definition at line 655 of file level.h.

float & getEdgeSharpness ( Index  edgeIndex)
inline

Definition at line 659 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 673 of file level.h.

float getVertexSharpness ( Index  vertIndex) const
inline

Definition at line 664 of file level.h.

float & getVertexSharpness ( Index  vertIndex)
inline

Definition at line 668 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 697 of file level.h.

bool isFaceHole ( Index  faceIndex) const
inline

Definition at line 685 of file level.h.

bool isSingleCreasePatch ( Index  face,
float *  sharpnessOut = NULL,
int *  rotationOut = NULL 
) const
bool isVertexNonManifold ( Index  vertIndex) const
inline

Definition at line 706 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 749 of file level.h.

void resizeEdgeFaces ( Index  edgeIndex,
int  count 
)
inline

Definition at line 638 of file level.h.

void resizeEdges ( int  numEdges)
inline

Definition at line 731 of file level.h.

void resizeEdgeVertices ( )
inline

Definition at line 744 of file level.h.

void resizeFaceEdges ( int  numFaceEdgesTotal)
inline

Definition at line 726 of file level.h.

void resizeFaces ( int  numFaces)
inline

Definition at line 714 of file level.h.

void resizeFaceVertices ( int  numFaceVertsTotal)
inline

Definition at line 722 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 773 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 767 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 756 of file level.h.

void setEdgeNonManifold ( Index  edgeIndex,
bool  b 
)
inline

Definition at line 693 of file level.h.

void setFaceHole ( Index  faceIndex,
bool  b 
)
inline

Definition at line 681 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 702 of file level.h.

IndexArray shareFaceVertCountsAndOffsets ( ) const
inline

Definition at line 780 of file level.h.

void trimEdgeFaces ( Index  edgeIndex,
int  count 
)
inline

Definition at line 647 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: