24 #ifndef OPENSUBDIV3_VTR_COMPONENT_INTERFACES_H
25 #define OPENSUBDIV3_VTR_COMPONENT_INTERFACES_H
27 #include "../version.h"
29 #include "../sdc/types.h"
30 #include "../sdc/crease.h"
31 #include "../vtr/types.h"
32 #include "../vtr/stackBuffer.h"
37 namespace OpenSubdiv {
38 namespace OPENSUBDIV_VERSION {
79 void SetIndex(
int edgeIndex) { _eIndex = edgeIndex; }
92 for (
int i = 0; i < eFaces.
size(); ++i) {
114 _pIndex = parentIndex;
115 _cIndex = childIndex;
127 for (
int i = 0; i < _eCount; ++i) {
142 const Level* _parent;
155 using namespace OPENSUBDIV_VERSION;
float * GetSharpnessPerEdge(float pSharpness[]) const
FaceInterface(int vertCount)
int GetNumVertices() const
void GetChildSharpnesses(Sdc::Crease const &, float s[2]) const
float GetSharpness() const
float getEdgeSharpness(Index edgeIndex) const
EdgeInterface(Level const &level)
void SetIndex(int edgeIndex)
float GetSharpness() const
void GetNumVerticesPerFace(int vertsPerFace[]) const
ConstIndexArray getVertexFaces(Index vertIndex) const
Types, constants and utilities related to semi-sharp creasing – whose implementation is independent o...
ConstIndexArray getFaceVertices(Index faceIndex) const
VertexInterface(Level const &parent, Level const &child)
void SubdivideEdgeSharpnessesAroundVertex(int incidentEdgeCountAtVertex, float const *incidentEdgeSharpnessAroundVertex, float *childEdgesSharpnessAroundVertex) const
float * GetChildSharpnessPerEdge(Sdc::Crease const &crease, float cSharpness[]) const
ConstIndexArray getEdgeFaces(Index edgeIndex) const
ConstIndexArray getVertexEdges(Index vertIndex) const
float getVertexSharpness(Index vertIndex) const
float GetChildSharpness(Sdc::Crease const &) const
void SetIndex(int parentIndex, int childIndex)