 |
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
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.
@ TRIANGLES
3-sided triangle
PatchDescriptor()
Default constructor.
@ LOOP
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)
@ QUADS
4-sided quadrilateral (bilinear)
@ POINTS
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
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.