24 #ifndef FAR_TOPOLOGY_REFINER_FACTORY_H
25 #define FAR_TOPOLOGY_REFINER_FACTORY_H
27 #include "../version.h"
29 #include "../far/topologyRefiner.h"
33 namespace OpenSubdiv {
34 namespace OPENSUBDIV_VERSION {
118 template <
class MESH>
175 template <
class MESH>
181 populateBaseLevel(*refiner, mesh);
186 template <
class MESH>
200 resizeComponentTopology(refiner, mesh);
202 validateComponentTopologySizing(refiner);
205 assignComponentTopology(refiner, mesh);
206 validateVertexComponentTopologyAssignment(refiner);
209 assignComponentTags(refiner, mesh);
212 applyComponentTagsAndBoundarySharpness(refiner);
215 assignFaceVaryingTopology(refiner, mesh);
216 validateFaceVaryingComponentTopologyAssignment(refiner);
222 template <
class MESH>
226 assert(
"Missing specialization for TopologyRefinerFactory<MESH>::resizeComponentTopology()" == 0);
261 template <
class MESH>
265 assert(
"Missing specialization for TopologyRefinerFactory<MESH>::assignComponentTopology()" == 0);
301 template <
class MESH>
316 template <
class MESH>
340 using namespace OPENSUBDIV_VERSION;
static void assignFaceVaryingTopology(TopologyRefiner &refiner, MESH const &mesh)
static void applyComponentTagsAndBoundarySharpness(TopologyRefiner &refiner)
int const * creaseVertexIndexPairs
Descriptor for raw topology data.
TopologyRefinerFactory()
Constructor.
static void assignComponentTags(TopologyRefiner &refiner, MESH const &mesh)
FVarChannel const * fvarChannels
static TopologyRefiner * Create(Sdc::Type type, Sdc::Options options, MESH const &mesh)
Instantiates TopologyRefiner from client-provided topological representation.
~TopologyRefinerFactory()
Destructor.
static void validateVertexComponentTopologyAssignment(TopologyRefiner &refiner)
static void validateFaceVaryingComponentTopologyAssignment(TopologyRefiner &refiner)
static void assignComponentTopology(TopologyRefiner &refiner, MESH const &mesh)
static void resizeComponentTopology(TopologyRefiner &refiner, MESH const &mesh)
static void validateComponentTopologySizing(TopologyRefiner &refiner)
Stores topology data for a specified set of refinement options.
int const * cornerVertexIndices
static void populateBaseLevel(TopologyRefiner &refiner, MESH const &mesh)
float const * cornerWeights
float const * creaseWeights