25 #ifndef FAR_PATCH_TABLES_FACTORY_H
26 #define FAR_PATCH_TABLES_FACTORY_H
28 #include "../version.h"
30 #include "../far/patchTables.h"
32 namespace OpenSubdiv {
33 namespace OPENSUBDIV_VERSION {
40 class TopologyRefiner;
87 std::vector<PatchFaceTag> & patchTags);
91 std::vector<PatchFaceTag>
const & patchTags,
95 static void allocateTables(
PatchTables * tables,
int nlevels );
103 int npatches,
int * voffset,
int * poffset,
int * qoffset );
108 static void getQuadOffsets(
Vtr::Level const & level,
int face,
unsigned int * result);
116 using namespace OPENSUBDIV_VERSION;
int triangulateQuads
Triangulate 'QUADS' primitives (Uniform mode only)
static PatchTables * Create(TopologyRefiner const &refiner, Options options=Options())
Factory constructor for PatchTables.
Container for patch vertex indices tables.
Describes the type of a patch.
Face-varying patch vertex indices tables.
int generateFVarTables
Generate face-varying patch tables.
Local patch parameterization descriptor.
int generateAllLevels
Include levels from 'firstLevel' to 'maxLevel' (Uniform mode only)
std::vector< PatchArray > PatchArrayVector
Stores topology data for a specified set of refinement options.
A specialized factory for feature adaptive PatchTables.