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 , GREGORY , GREGORY_BOUNDARY , GREGORY_BASIS , GREGORY_TRIANGLE }

## 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...
void | print () const

## 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

Definition at line 44 of file patchDescriptor.h.

## Member Enumeration Documentation

## Type

enum Type

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
GREGORY |
GREGORY_BOUNDARY |
GREGORY_BASIS |
GREGORY_TRIANGLE |

Definition at line 48 of file patchDescriptor.h.

## Constructor & Destructor Documentation

## PatchDescriptor() [1/3]

PatchDescriptor | ( |  | ) |

inline

Default constructor.

Definition at line 69 of file patchDescriptor.h.

## PatchDescriptor() [2/3]

PatchDescriptor | ( | int | type | ) |

inline

Constructor.

Definition at line 73 of file patchDescriptor.h.

## PatchDescriptor() [3/3]

PatchDescriptor | ( | PatchDescriptor const & | d | ) |

inline

Copy Constructor.

Definition at line 77 of file patchDescriptor.h.

## Member Function Documentation

## GetAdaptivePatchDescriptors()

static Vtr::ConstArray< PatchDescriptor > GetAdaptivePatchDescriptors | ( | Sdc::SchemeType | type | ) |

static

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

## GetGregoryBasisPatchSize()

static short GetGregoryBasisPatchSize | ( |  | ) |

inline static

Number of control vertices of Gregory patch basis (20)

Definition at line 120 of file patchDescriptor.h.

## GetGregoryPatchSize()

static short GetGregoryPatchSize | ( |  | ) |

inline static

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

Definition at line 117 of file patchDescriptor.h.

## GetNumControlVertices() [1/2]

short GetNumControlVertices | ( |  | ) | const

inline

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

Definition at line 104 of file patchDescriptor.h.

## GetNumControlVertices() [2/2]

short GetNumControlVertices | ( | Type | t | ) |

inline static

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

Definition at line 144 of file patchDescriptor.h.

## GetNumFVarControlVertices() [1/2]

short GetNumFVarControlVertices | ( |  | ) | const

inline

Deprecated.

See also
  PatchDescriptor::GetNumControlVertices

Definition at line 109 of file patchDescriptor.h.

## GetNumFVarControlVertices() [2/2]

short GetNumFVarControlVertices | ( | Type | t | ) |

inline static

Deprecated.

See also
  PatchDescriptor::GetNumControlVertices

Definition at line 162 of file patchDescriptor.h.

## GetRegularPatchSize()

static short GetRegularPatchSize | ( |  | ) |

inline static

Number of control vertices of Regular Patches in table.

Definition at line 114 of file patchDescriptor.h.

## GetType()

Type GetType | ( |  | ) | const

inline

Returns the type of the patch.

Definition at line 81 of file patchDescriptor.h.

## IsAdaptive() [1/2]

bool IsAdaptive | ( |  | ) | const

inline

Returns true if the type is an adaptive patch.

Definition at line 91 of file patchDescriptor.h.

## IsAdaptive() [2/2]

static bool IsAdaptive | ( | Type | type | ) |

inline static

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

Definition at line 86 of file patchDescriptor.h.

## operator<()

bool operator< | ( | PatchDescriptor const | other | ) | const

inline

Allows ordering of patches by type.

Definition at line 167 of file patchDescriptor.h.

## operator==()

bool operator== | ( | PatchDescriptor const | other | ) | const

inline

True if the descriptors are identical.

Definition at line 174 of file patchDescriptor.h.

## print()

void print | ( |  | ) | const

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

- opensubdiv/far/patchDescriptor.h