|
Blender V4.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. | |
| 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). | |
| 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 25 of file patch_map.h.
| typedef OpenSubdiv::Far::PatchTable::PatchHandle blender::opensubdiv::PatchMap::Handle |
Definition at line 49 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 203 of file patch_map.h.
References v.
Referenced by blender::opensubdiv::convertPatchCoordsToArray(), blender::opensubdiv::EvalOutputAPI::evaluateFaceVarying(), blender::opensubdiv::EvalOutputAPI::evaluateLimit(), blender::opensubdiv::EvalOutputAPI::evaluateVarying(), and blender::opensubdiv::EvalOutputAPI::evaluateVertexData().
|
inline |
Definition at line 93 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().
|
inline |
Definition at line 83 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().
|
inline |
Definition at line 78 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().
|
inline |
Definition at line 73 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().
|
inline |
Definition at line 88 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().
|
inline |
Definition at line 98 of file patch_map.h.
Referenced by blender::opensubdiv::EvalOutputAPI::getPatchMap().