25 #ifndef OPENSUBDIV3_OSD_TYPES_H 26 #define OPENSUBDIV3_OSD_TYPES_H 28 #include "../version.h" 29 #include "../far/patchTable.h" 34 namespace OPENSUBDIV_VERSION {
54 handle(handleArg),
s(sArg),
t(tArg) { }
69 int numPatches_in,
int indexBase_in,
int primitiveIdBase_in) :
70 regDesc(desc_in), desc(desc_in),
71 numPatches(numPatches_in), indexBase(indexBase_in),
72 stride(desc_in.GetNumControlVertices()),
73 primitiveIdBase(primitiveIdBase_in) {}
76 int numPatches_in,
int indexBase_in,
int primitiveIdBase_in) :
77 regDesc(regDesc_in), desc(irregDesc_in),
78 numPatches(numPatches_in), indexBase(indexBase_in),
79 stride(std::max(regDesc_in.GetNumControlVertices(),
80 irregDesc_in.GetNumControlVertices())),
81 primitiveIdBase(primitiveIdBase_in) {}
94 return desc.GetType();
97 return regDesc.GetType();
100 return desc.GetType();
113 return primitiveIdBase;
138 using namespace OPENSUBDIV_VERSION;
143 #endif // OPENSUBDIV3_OSD_TYPES_H Handle that can be used as unique patch identifier within PatchTable.
Far::PatchDescriptor regDesc
PatchArray(Far::PatchDescriptor regDesc_in, Far::PatchDescriptor irregDesc_in, int numPatches_in, int indexBase_in, int primitiveIdBase_in)
PatchCoord(Far::PatchTable::PatchHandle handleArg, float sArg, float tArg)
Constructor.
Far::PatchDescriptor const & GetDescriptorIrregular() const
PatchArray(Far::PatchDescriptor desc_in, int numPatches_in, int indexBase_in, int primitiveIdBase_in)
Far::PatchDescriptor desc
int GetPrimitiveIdBase() const
float t
parametric location on patch
std::vector< PatchArray > PatchArrayVector
std::vector< PatchParam > PatchParamVector
int GetNumPatches() const
Far::PatchTable::PatchHandle handle
patch handle
int GetPatchTypeRegular() const
int GetPatchTypeIrregular() const
Describes the type of a patch.
Far::PatchDescriptor const & GetDescriptorRegular() const
Coordinates set on a patch table.
Far::PatchDescriptor const & GetDescriptor() const