Container for patch vertex indices tables. More...
#include <patchTables.h>
Classes | |
class | Descriptor |
Describes the type of a patch. More... | |
class | Descriptor |
Describes the type of a patch. More... | |
class | Descriptor |
Describes the type of a patch. More... | |
class | FVarPatchTables |
Face-varying patch vertex indices tables. More... | |
class | FVarPatchTables |
Face-varying patch vertex indices tables. More... | |
class | FVarPatchTables |
Face-varying patch vertex indices tables. More... | |
class | PatchArray |
Describes an array of patches of the same type. More... | |
class | PatchArray |
Describes an array of patches of the same type. More... | |
class | PatchArray |
Describes an array of patches of the same type. More... | |
Public Types | |
enum | Type { NON_PATCH = 0, POINTS, LINES, QUADS, TRIANGLES, LOOP, REGULAR, BOUNDARY, CORNER, GREGORY, GREGORY_BOUNDARY } |
enum | TransitionPattern { NON_TRANSITION = 0, PATTERN0, PATTERN1, PATTERN2, PATTERN3, PATTERN4 } |
typedef std::vector< unsigned int > | PTable |
typedef std::vector< int > | VertexValenceTable |
typedef std::vector< unsigned int > | QuadOffsetTable |
typedef std::vector< PatchParam > | PatchParamTable |
typedef std::vector< PatchArray > | PatchArrayVector |
Public Member Functions | |
PTable const & | GetPatchTable () const |
Get the table of patch control vertices. More... | |
PatchArray const * | GetPatchArray (Descriptor desc) const |
Returns a pointer to the array of patches matching the descriptor. More... | |
PatchArrayVector const & | GetPatchArrayVector () const |
Returns all arrays of patches. More... | |
PatchArray const * | GetPatchArray (int level=0) const |
unsigned int const * | GetFaceVertices (int level=0) const |
Returns a pointer to the vertex indices of uniformly subdivided faces. More... | |
int | GetNumFaces (int level=0) const |
Returns the number of faces in a uniformly subdivided mesh at a given level. More... | |
VertexValenceTable const & | GetVertexValenceTable () const |
Returns a vertex valence table used by Gregory patches. More... | |
QuadOffsetTable const & | GetQuadOffsetTable () const |
Returns a quad offsets table used by Gregory patches. More... | |
PatchParamTable const & | GetPatchParamTable () const |
Returns a PatchParamTable for each type of patch. More... | |
int | GetNumPatches () const |
Returns the total number of patches stored in the tables. More... | |
int | GetNumControlVertices () const |
Returns the total number of control vertex indices in the tables. More... | |
int | GetMaxValence () const |
Returns max vertex valence. More... | |
bool | IsFeatureAdaptive () const |
True if the patches are of feature adaptive types. More... | |
int | GetNumPtexFaces () const |
Returns the total number of vertices in the mesh across across all depths. More... | |
FVarPatchTables const * | GetFVarPatchTables () const |
Returns the face-varying patches. More... | |
PatchTables (PatchArrayVector const &patchArrays, PTable const &patches, VertexValenceTable const *vertexValences, QuadOffsetTable const *quadOffsets, PatchParamTable const *patchParams, FVarPatchTables const *fvarPatchTables, int maxValence) | |
Public constructor. More... | |
~PatchTables () | |
Destructor. More... | |
Static Public Member Functions | |
static short | GetRegularPatchRingsize () |
Ringsize of Regular Patches in table. More... | |
static short | GetBoundaryPatchRingsize () |
Ringsize of Boundary Patches in table. More... | |
static short | GetCornerPatchRingsize () |
Ringsize of Boundary Patches in table. More... | |
static short | GetGregoryPatchRingsize () |
Ringsize of Gregory (and Gregory Boundary) Patches in table. More... | |
Friends | |
class | PatchTablesFactory |
Container for patch vertex indices tables.
PatchTables contain the lists of vertices for each patch of an adaptive mesh representation.
Definition at line 49 of file patchTables.h.
typedef std::vector<PatchArray> PatchArrayVector |
Definition at line 304 of file patchTables.h.
typedef std::vector<PatchParam> PatchParamTable |
Definition at line 55 of file patchTables.h.
typedef std::vector<unsigned int> PTable |
Definition at line 52 of file patchTables.h.
typedef std::vector<unsigned int> QuadOffsetTable |
Definition at line 54 of file patchTables.h.
typedef std::vector<int> VertexValenceTable |
Definition at line 53 of file patchTables.h.
enum TransitionPattern |
Enumerator | |
---|---|
NON_TRANSITION | |
PATTERN0 | |
PATTERN1 | |
PATTERN2 | |
PATTERN3 | |
PATTERN4 |
Definition at line 75 of file patchTables.h.
enum Type |
Definition at line 57 of file patchTables.h.
|
inline |
Public constructor.
patchArrays | Vector of descriptors and ranges for arrays of patches |
patches | Indices of the control vertices of the patches |
vertexValences | Vertex valance table |
quadOffsets | Quad offset table |
fvarPatchTables | Indices of the face-varying control vertices of the patches |
patchParams | Local patch parameterization |
maxValence | Highest vertex valence allowed in the mesh |
Definition at line 631 of file patchTables.h.
|
inline |
Destructor.
Definition at line 461 of file patchTables.h.
|
inlinestatic |
Ringsize of Boundary Patches in table.
Definition at line 376 of file patchTables.h.
|
inlinestatic |
Ringsize of Boundary Patches in table.
Definition at line 379 of file patchTables.h.
|
inline |
Returns a pointer to the vertex indices of uniformly subdivided faces.
In uniform mode the PatchTablesFactory can be set to generate either a patch array containing the faces at the highest level of subdivision, or a range of arrays, corresponding to multiple successive levels of subdivision.
Note : level '0' is not the coarse mesh. Currently there is no path in the factories to convert the coarse mesh to PatchTables.
level | the level of subdivision of the faces (returns the highest level by default) |
Definition at line 744 of file patchTables.h.
|
inline |
Returns the face-varying patches.
Definition at line 434 of file patchTables.h.
|
inlinestatic |
Ringsize of Gregory (and Gregory Boundary) Patches in table.
Definition at line 382 of file patchTables.h.
|
inline |
Returns max vertex valence.
Definition at line 391 of file patchTables.h.
|
inline |
Returns the total number of control vertex indices in the tables.
Definition at line 693 of file patchTables.h.
|
inline |
Returns the number of faces in a uniformly subdivided mesh at a given level.
In uniform mode the PatchTablesFactory can be set to generate either a patch array containing the faces at the highest level of subdivision, or a range of arrays, corresponding to multiple successive levels of subdivision.
Note : level '0' is not the coarse mesh. Currently there is no path in the factories to convert the coarse mesh to PatchTables.
level | the level of subdivision of the faces (returns the highest level by default) |
Definition at line 756 of file patchTables.h.
|
inline |
Returns the total number of patches stored in the tables.
Definition at line 795 of file patchTables.h.
|
inline |
Returns the total number of vertices in the mesh across across all depths.
Definition at line 397 of file patchTables.h.
|
inline |
Returns a pointer to the array of patches matching the descriptor.
Definition at line 310 of file patchTables.h.
|
inline |
brief Returns a pointer to the PatchArry of uniformly subdivided faces at 'level'
level | the level of subdivision of the faces (returns the highest level by default) |
Definition at line 723 of file patchTables.h.
|
inline |
Returns all arrays of patches.
Definition at line 315 of file patchTables.h.
|
inline |
Returns a PatchParamTable for each type of patch.
Definition at line 370 of file patchTables.h.
|
inline |
Get the table of patch control vertices.
Definition at line 307 of file patchTables.h.
|
inline |
Returns a quad offsets table used by Gregory patches.
Definition at line 367 of file patchTables.h.
|
inlinestatic |
Ringsize of Regular Patches in table.
Definition at line 373 of file patchTables.h.
|
inline |
Returns a vertex valence table used by Gregory patches.
Definition at line 364 of file patchTables.h.
|
inline |
True if the patches are of feature adaptive types.
Definition at line 654 of file patchTables.h.
|
friend |
Definition at line 465 of file patchTables.h.