3DCoat
3D-COAT 4.9.xx
3DCoat is the one application that has all the tools you need to take your 3D idea from a block of digital clay all the way to a production ready, fully textured organic or hard surface model.
|
A specialized factory for LimitStencilTable. More...
#include <stencilTableFactory.h>
Classes | |
struct | LocationArray |
Descriptor for limit surface locations. More... | |
Public Types | |
enum | Mode { INTERPOLATE_VERTEX =0, INTERPOLATE_VARYING, INTERPOLATE_FACE_VARYING } |
Static Public Member Functions | |
static LimitStencilTableReal < REAL > const * | Create (TopologyRefiner const &refiner, LocationArrayVec const &locationArrays, StencilTableReal< REAL > const *cvStencils=0, PatchTable const *patchTable=0, Options options=Options()) |
Instantiates LimitStencilTable from a TopologyRefiner that has been refined either uniformly or adaptively. More... | |
A specialized factory for LimitStencilTable.
The LimitStencilTableFactory creates a table of limit stencils. Limit stencils can interpolate any arbitrary location on the limit surface. The stencils will be bilinear if the surface is refined uniformly, and bicubic if feature adaptive isolation is used instead.
Surface locations are expressed as a combination of ptex face index and normalized (s,t) patch coordinates. The factory exposes the LocationArray struct as a container for these location descriptors.
enum OpenSubdiv::v3_4_3::Far::LimitStencilTableFactoryReal::Mode |
|
static |
Instantiates LimitStencilTable from a TopologyRefiner that has been refined either uniformly or adaptively.
refiner | The TopologyRefiner containing the topology |
locationArrays | An array of surface location descriptors (see LocationArray) |
cvStencils | A StencilTable generated from the TopologyRefiner (Optional: prevents redundant instantiation of the table if available. The given table must at least contain stencils for all control points and all refined points – any stencils for local points of a PatchTable must match the PatchTable provided or internally generated) |
patchTable | A PatchTable generated from the TopologyRefiner (Optional: prevents redundant instantiation of the table if available. The given table must match the optional StencilTable if also provided) |
options | Options controlling the creation of the table |
References OpenSubdiv::v3_4_3::Far::TopologyRefiner::AdaptiveOptions::considerFVarChannels, OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasis(), OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasisFaceVarying(), OpenSubdiv::v3_4_3::Far::PatchTable::EvaluateBasisVarying(), OpenSubdiv::v3_4_3::Far::PatchMap::FindPatch(), OpenSubdiv::v3_4_3::Far::PatchTableFactory::Options::fvarChannelIndices, OpenSubdiv::v3_4_3::Far::PatchTableFactory::Options::generateFVarLegacyLinearPatches, OpenSubdiv::v3_4_3::Far::PatchTableFactory::Options::generateFVarTables, OpenSubdiv::v3_4_3::Far::PatchTableFactory::Options::generateVaryingTables, OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetAdaptiveOptions(), OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetLevel(), OpenSubdiv::v3_4_3::Far::PatchTable::GetLocalPointFaceVaryingStencilTable(), OpenSubdiv::v3_4_3::Far::PatchTable::GetLocalPointStencilTable(), OpenSubdiv::v3_4_3::Far::PatchTable::GetLocalPointVaryingStencilTable(), OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetMaxLevel(), OpenSubdiv::v3_4_3::Far::TopologyLevel::GetNumFVarValues(), OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetNumFVarValuesTotal(), OpenSubdiv::v3_4_3::Far::StencilTableReal< REAL >::GetNumStencils(), OpenSubdiv::v3_4_3::Far::TopologyLevel::GetNumVertices(), OpenSubdiv::v3_4_3::Far::TopologyRefiner::GetNumVerticesTotal(), OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchFVarValues(), OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchVaryingVertices(), OpenSubdiv::v3_4_3::Far::PatchTable::GetPatchVertices(), OpenSubdiv::v3_4_3::Far::PatchTableFactory::Options::includeBaseLevelIndices, OpenSubdiv::v3_4_3::Far::PatchTableFactory::Options::includeFVarBaseLevelIndices, OpenSubdiv::v3_4_3::Far::PatchTable::IsFeatureAdaptive(), OpenSubdiv::v3_4_3::Far::TopologyRefiner::IsUniform(), OpenSubdiv::v3_4_3::Far::PatchTableFactory::Options::numFVarChannels, OpenSubdiv::v3_4_3::Far::LimitStencilTableFactoryReal< REAL >::LocationArray::numLocations, OpenSubdiv::v3_4_3::Far::LimitStencilTableFactoryReal< REAL >::LocationArray::ptexIdx, OpenSubdiv::v3_4_3::Far::LimitStencilTableFactoryReal< REAL >::LocationArray::s, OpenSubdiv::v3_4_3::Far::PatchTableFactory::Options::SetEndCapType(), OpenSubdiv::v3_4_3::Far::PatchTableFactory::Options::SetPatchPrecision(), OpenSubdiv::v3_4_3::Far::LimitStencilTableFactoryReal< REAL >::LocationArray::t, OpenSubdiv::v3_4_3::Far::PatchTableFactory::Options::useInfSharpPatch, and OpenSubdiv::v3_4_3::Far::TopologyRefiner::AdaptiveOptions::useInfSharpPatch.