27 #include "../version.h"
29 #include "../sdc/type.h"
30 #include "../sdc/crease.h"
31 #include "../sdc/options.h"
32 #include "../vtr/types.h"
40 namespace OpenSubdiv {
41 namespace OPENSUBDIV_VERSION {
45 template <
class MESH>
class TopologyRefinerFactory;
46 class TopologyRefinerFactoryBase;
47 class TopologyRefiner;
48 class PatchTablesFactory;
437 countOffsetPair[0] = count;
438 countOffsetPair[1] = (faceIndex == 0) ? 0 : (countOffsetPair[-2] + countOffsetPair[-1]);
486 countOffsetPair[0] = count;
487 countOffsetPair[1] = (vertIndex == 0) ? 0 : (countOffsetPair[-2] + countOffsetPair[-1]);
523 countOffsetPair[0] = count;
524 countOffsetPair[1] = (vertIndex == 0) ? 0 : (countOffsetPair[-2] + countOffsetPair[-1]);
563 countOffsetPair[0] = count;
564 countOffsetPair[1] = (edgeIndex == 0) ? 0 : (countOffsetPair[-2] + countOffsetPair[-1]);
670 using namespace OPENSUBDIV_VERSION;
Array< Index > IndexArray
Index findEdge(Index v0Index, Index v1Index) const
int getNumVertexFaces(Index vertIndex) const
void print(const Refinement *parentRefinement=0) const
int getOffsetOfVertexFaces(Index vertIndex) const
int getOffsetOfVertexEdges(Index vertIndex) const
std::vector< FVarLevel * > _fvarChannels
std::vector< Index > _vertEdgeIndices
int getNumEdgeFaces(Index edgeIndex) const
int getMaxEdgeFaces() const
int getNumEdgeVertices(Index) const
int getNumFaceVertices(Index faceIndex) const
void trimEdgeFaces(Index edgeIndex, int count)
bool orderVertexFacesAndEdges(int vIndex)
int getOffsetOfEdgeVertices(Index edgeIndex) const
void trimVertexEdges(Index vertIndex, int count)
LocalIndexArray const getVertexFaceLocalIndices(Index vertIndex) const
int getMaxValence() const
int getNumEdgeFacesTotal() const
int getNumEdgeVerticesTotal() const
void resizeFaces(int numFaces)
int getNumFaceEdges(Index faceIndex) const
void resizeFaceEdges(int numFaceEdgesTotal)
void resizeEdges(int numEdges)
int getOffsetOfFaceVertices(Index faceIndex) const
void orientIncidentComponents()
int getNumVertices() const
IndexArray const getEdgeFaces(Index edgeIndex) const
int gatherQuadRegularInteriorPatchVertices(Index fIndex, unsigned int patchVerts[], int rotation=0) const
std::vector< VTag > _vertTags
int getNumFaceEdgesTotal() const
int createFVarChannel(int fvarValueCount, Sdc::Options const &options)
std::vector< Index > _faceVertCountsAndOffsets
void resizeEdgeFaces(int numEdgeFacesTotal)
std::vector< Index > _vertEdgeCountsAndOffsets
void resizeVertexFaces(int numVertexFacesTotal)
LocalIndexArray const getVertexEdgeLocalIndices(Index vertIndex) const
int getOffsetOfFaceEdges(Index faceIndex) const
bool validateTopology() const
void destroyFVarChannel(int channel=0)
int gatherManifoldVertexRingFromIncidentQuads(Index vIndex, int vOffset, int ringVerts[]) const
std::vector< LocalIndex > _vertEdgeLocalIndices
std::vector< Index > _edgeFaceCountsAndOffsets
std::vector< Sharpness > _edgeSharpness
IndexArray const getFaceVertices(Index faceIndex) const
std::vector< Index > _vertFaceCountsAndOffsets
std::vector< ETag > _edgeTags
std::vector< Index > _vertFaceIndices
std::vector< Index > _edgeFaceIndices
IndexArray const getVertexEdges(Index vertIndex) const
int gatherQuadRegularBoundaryPatchVertices(Index fIndex, unsigned int patchVerts[], int boundaryEdgeInFace) const
int getNumVertexEdgesTotal() const
IndexArray const getVertexFaces(Index vertIndex) const
int gatherQuadRegularCornerPatchVertices(Index fIndex, unsigned int patchVerts[], int cornerVertInFace) const
void resizeEdgeVertices()
void resizeVertexEdges(int numVertexEdgesTotal)
void resizeVertices(int numVertices)
int getNumFVarChannels() const
void resizeFaceVertices(int numFaceVertsTotal)
std::vector< LocalIndex > _vertFaceLocalIndices
void trimVertexFaces(Index vertIndex, int count)
std::vector< Index > _faceEdgeIndices
std::vector< Index > _faceVertIndices
IndexArray const getFaceEdges(Index faceIndex) const
void completeTopologyFromFaceVertices()
int getOffsetOfEdgeFaces(Index edgeIndex) const
Sharpness getVertexSharpness(Index vertIndex) const
Sharpness getEdgeSharpness(Index edgeIndex) const
IndexArray const getFVarFaceValues(Index faceIndex, int channel=0) const
VTag getFaceCompositeVTag(IndexArray const &faceVerts) const
int getNumVertexEdges(Index vertIndex) const
void populateLocalIndices()
Stores topology data for a specified set of refinement options.
A specialized factory for feature adaptive PatchTables.
Sdc::Crease::Rule getVertexRule(Index vertIndex) const
void completeFVarChannelTopology(int channel=0)
Array< LocalIndex > LocalIndexArray
std::vector< Index > _edgeVertIndices
int getNumVertexFacesTotal() const
std::vector< Sharpness > _vertSharpness
int getNumFVarValues(int channel=0) const
int getNumFaceVerticesTotal() const
std::vector< FTag > _faceTags
IndexArray const getEdgeVertices(Index edgeIndex) const