3DCoat  3D-COAT 4.9.xx
3DCoat is the one application that has all the tools you need to take your 3D idea from a block of digital clay all the way to a production ready, fully textured organic or hard surface model.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
OpenSubdiv::v3_4_3::Far::PatchDescriptor Class Reference

Describes the type of a patch. More...

#include <patchDescriptor.h>

Public Types

enum  Type {
  NON_PATCH = 0, POINTS, LINES, QUADS,
  TRIANGLES, LOOP, REGULAR
}
 

Public Member Functions

 PatchDescriptor ()
 Default constructor. More...
 
 PatchDescriptor (int type)
 Constructor. More...
 
 PatchDescriptor (PatchDescriptor const &d)
 Copy Constructor. More...
 
Type GetType () const
 Returns the type of the patch. More...
 
bool IsAdaptive () const
 Returns true if the type is an adaptive patch. More...
 
short GetNumControlVertices () const
 Returns the number of control vertices expected for a patch of the type described. More...
 
short GetNumFVarControlVertices () const
 Deprecated. More...
 
bool operator< (PatchDescriptor const other) const
 Allows ordering of patches by type. More...
 
bool operator== (PatchDescriptor const other) const
 True if the descriptors are identical. More...
 

Static Public Member Functions

static bool IsAdaptive (Type type)
 Returns true if the type is an adaptive (non-linear) patch. More...
 
static short GetNumControlVertices (Type t)
 Returns the number of control vertices expected for a patch of the type described. More...
 
static short GetNumFVarControlVertices (Type t)
 Deprecated. More...
 
static short GetRegularPatchSize ()
 Number of control vertices of Regular Patches in table. More...
 
static short GetGregoryPatchSize ()
 Number of control vertices of Gregory (and Gregory Boundary) Patches in table. More...
 
static short GetGregoryBasisPatchSize ()
 Number of control vertices of Gregory patch basis (20) More...
 
static Vtr::ConstArray
< PatchDescriptor
GetAdaptivePatchDescriptors (Sdc::SchemeType type)
 Returns a vector of all the legal patch descriptors for the given adaptive subdivision scheme. More...
 

Detailed Description

Describes the type of a patch.

Uniquely identifies all the different types of patches

Member Enumeration Documentation

Enumerator
NON_PATCH 

undefined

POINTS 

points (useful for cage drawing)

LINES 

lines (useful for cage drawing)

QUADS 

4-sided quadrilateral (bilinear)

TRIANGLES 

3-sided triangle

LOOP 

regular triangular patch for the Loop scheme

REGULAR 

regular B-Spline patch for the Catmark scheme

Constructor & Destructor Documentation

OpenSubdiv::v3_4_3::Far::PatchDescriptor::PatchDescriptor ( )
inline

Default constructor.

OpenSubdiv::v3_4_3::Far::PatchDescriptor::PatchDescriptor ( int  type)
inline

Constructor.

OpenSubdiv::v3_4_3::Far::PatchDescriptor::PatchDescriptor ( PatchDescriptor const &  d)
inline

Copy Constructor.

Member Function Documentation

ConstPatchDescriptorArray OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetAdaptivePatchDescriptors ( Sdc::SchemeType  type)
static

Returns a vector of all the legal patch descriptors for the given adaptive subdivision scheme.

static short OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetGregoryBasisPatchSize ( )
inlinestatic

Number of control vertices of Gregory patch basis (20)

static short OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetGregoryPatchSize ( )
inlinestatic

Number of control vertices of Gregory (and Gregory Boundary) Patches in table.

short OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetNumControlVertices ( Type  t)
inlinestatic
short OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetNumControlVertices ( ) const
inline

Returns the number of control vertices expected for a patch of the type described.

short OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetNumFVarControlVertices ( Type  t)
inlinestatic
short OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetNumFVarControlVertices ( ) const
inline
static short OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetRegularPatchSize ( )
inlinestatic

Number of control vertices of Regular Patches in table.

Type OpenSubdiv::v3_4_3::Far::PatchDescriptor::GetType ( ) const
inline
static bool OpenSubdiv::v3_4_3::Far::PatchDescriptor::IsAdaptive ( Type  type)
inlinestatic

Returns true if the type is an adaptive (non-linear) patch.

bool OpenSubdiv::v3_4_3::Far::PatchDescriptor::IsAdaptive ( ) const
inline

Returns true if the type is an adaptive patch.

bool OpenSubdiv::v3_4_3::Far::PatchDescriptor::operator< ( PatchDescriptor const  other) const
inline

Allows ordering of patches by type.

bool OpenSubdiv::v3_4_3::Far::PatchDescriptor::operator== ( PatchDescriptor const  other) const
inline

True if the descriptors are identical.


The documentation for this class was generated from the following files: