 |
My Project
|
Go to the documentation of this file.
25 #ifndef OPENSUBDIV3_FAR_PATCH_DESCRIPTOR_H
26 #define OPENSUBDIV3_FAR_PATCH_DESCRIPTOR_H
28 #include "../version.h"
30 #include "../far/types.h"
31 #include "../sdc/types.h"
36 namespace OPENSUBDIV_VERSION {
147 case LOOP :
return 12;
148 case QUADS :
return 4;
154 case LINES :
return 2;
169 return (_type < other._type);
175 return _type == other._type;
183 using namespace OPENSUBDIV_VERSION;
lines (useful for cage drawing)
PatchDescriptor(int type)
Constructor.
static short GetRegularPatchSize()
Number of control vertices of Regular Patches in table.
Vtr::ConstArray< PatchDescriptor > ConstPatchDescriptorArray
bool operator==(PatchDescriptor const other) const
True if the descriptors are identical.
PatchDescriptor()
Default constructor.
regular triangular patch for the Loop scheme
static bool IsAdaptive(Type type)
Returns true if the type is an adaptive (non-linear) patch.
static short GetGregoryPatchSize()
Number of control vertices of Gregory (and Gregory Boundary) Patches in table.
static Vtr::ConstArray< PatchDescriptor > GetAdaptivePatchDescriptors(Sdc::SchemeType type)
Returns a vector of all the legal patch descriptors for the given adaptive subdivision scheme.
static short GetGregoryBasisPatchSize()
Number of control vertices of Gregory patch basis (20)
4-sided quadrilateral (bilinear)
points (useful for cage drawing)
short GetNumControlVertices() const
Returns the number of control vertices expected for a patch of the type described.
Describes the type of a patch.
SchemeType
Enumerated type for all subdivision schemes supported by OpenSubdiv.
short GetNumFVarControlVertices() const
Deprecated.
Type GetType() const
Returns the type of the patch.
PatchDescriptor(PatchDescriptor const &d)
Copy Constructor.
regular B-Spline patch for the Catmark scheme
bool operator<(PatchDescriptor const other) const
Allows ordering of patches by type.
bool IsAdaptive() const
Returns true if the type is an adaptive patch.