25 #ifndef OSD_CPU_EVAL_LIMIT_CONTEXT_H
26 #define OSD_CPU_EVAL_LIMIT_CONTEXT_H
28 #include "../version.h"
30 #include "../osd/evalLimitContext.h"
31 #include "../osd/vertexDescriptor.h"
32 #include "../far/patchTables.h"
33 #include "../far/patchMap.h"
38 namespace OpenSubdiv {
39 namespace OPENSUBDIV_VERSION {
56 bool requireFVarData=
false);
68 return _patchBitFields;
78 return _vertexValenceTable;
83 return _quadOffsetTable;
114 std::vector<Far::PatchParam::BitField> _patchBitFields;
119 std::vector<float> _fvarData;
131 using namespace OPENSUBDIV_VERSION;
Far::PatchTables::QuadOffsetTable const & GetQuadOffsetTable() const
Returns the Quad-Offsets buffer used for Gregory patch computations.
Container for patch vertex indices tables.
static CpuEvalLimitContext * Create(Far::PatchTables const &patchTables, bool requireFVarData=false)
Factory Returns an EvalLimitContext from the given far patch tables. Note : the patchtables is expect...
int GetFVarWidth() const
Returns the number of floats in a datum of the face-varying data table.
std::vector< unsigned int > QuadOffsetTable
Far::PatchTables::VertexValenceTable const & GetVertexValenceTable() const
Returns the vertex-valence buffer used for Gregory patch computations.
CpuEvalLimitContext(Far::PatchTables const &patchTables, bool requireFVarData)
std::vector< float > const & GetFVarData() const
Returns the face-varying data patch table.
const std::vector< unsigned int > & GetControlVertices() const
The ordered array of control vertex indices for all the patches.
int GetMaxValence() const
Returns the highest valence of the vertices in the buffers.
std::vector< unsigned int > PTable
An quadtree-based map connecting coarse faces to their sub-patches.
Far::PatchMap const & GetPatchMap() const
Returns a map that can connect a faceId to a list of children patches.
std::vector< PatchArray > PatchArrayVector
std::vector< int > VertexValenceTable
const std::vector< Far::PatchParam::BitField > & GetPatchBitFields() const
Returns the vector of per-patch parametric data.
const Far::PatchTables::PatchArrayVector & GetPatchArrayVector() const
Returns the vector of patch arrays.
virtual ~CpuEvalLimitContext()