Blender
V3.3
|
An quadtree-based map connecting coarse faces to their sub-patches. More...
#include <patch_map.h>
Classes | |
struct | QuadNode |
Public Types | |
typedef OpenSubdiv::Far::PatchTable::PatchHandle | Handle |
Public Member Functions | |
PatchMap (OpenSubdiv::Far::PatchTable const &patchTable) | |
Constructor. More... | |
Handle const * | FindPatch (int patchFaceId, double u, double v) const |
Returns a handle to the sub-patch of the face at the given (u,v). Note that the patch face ID corresponds to potentially quadrangulated face indices and not the base face indices (see Far::PtexIndices for more details). More... | |
int | getMinPatchFace () const |
int | getMaxPatchFace () const |
int | getMaxDepth () const |
bool | getPatchesAreTriangular () const |
const std::vector< Handle > & | getHandles () |
const std::vector< QuadNode > & | nodes () |
An quadtree-based map connecting coarse faces to their sub-patches.
PatchTable::PatchArrays contain lists of patches that represent the limit surface of a mesh, sorted by their topological type. These arrays break the connection between coarse faces and their sub-patches.
The PatchMap provides a quad-tree based lookup structure that, given a singular parametric location, can efficiently return a handle to the sub-patch that contains this location.
Definition at line 43 of file patch_map.h.
Definition at line 67 of file patch_map.h.
blender::opensubdiv::PatchMap::PatchMap | ( | OpenSubdiv::Far::PatchTable const & | patchTable | ) |
|
inline |
Returns a handle to the sub-patch of the face at the given (u,v). Note that the patch face ID corresponds to potentially quadrangulated face indices and not the base face indices (see Far::PtexIndices for more details).
Returns a handle to the sub-patch of the face at the given (u,v).
patchFaceId | The index of the patch (Ptex) face |
u | Local u parameter |
v | Local v parameter |
Definition at line 219 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::evaluateFaceVarying(), blender::opensubdiv::EvalOutputAPI::evaluateLimit(), blender::opensubdiv::EvalOutputAPI::evaluateVarying(), and blender::opensubdiv::EvalOutputAPI::evaluateVertexData().
|
inline |
Definition at line 111 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().
|
inline |
Definition at line 101 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().
|
inline |
Definition at line 96 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().
|
inline |
Definition at line 91 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().
|
inline |
Definition at line 106 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().
|
inline |
Definition at line 116 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().