diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2019-10-16 11:36:01 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2019-10-16 11:36:01 +0300 |
commit | c2fbe46b0f0fde44b8a40d89601a195da27d28fb (patch) | |
tree | f66e3e50758acb36001e2774c6e4ede5fc8bead6 /intern/opensubdiv/internal/opensubdiv_topology_refiner.cc | |
parent | 386ba094988fc793f8e060d15438566e5e2d2cae (diff) | |
parent | dcf57e34f3866bba5ddd9cfdfe858a1a5eedc4c2 (diff) |
Merge branch 'master' into temp-gpencil-drw-enginetemp-gpencil-drw-engine
Diffstat (limited to 'intern/opensubdiv/internal/opensubdiv_topology_refiner.cc')
-rw-r--r-- | intern/opensubdiv/internal/opensubdiv_topology_refiner.cc | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/intern/opensubdiv/internal/opensubdiv_topology_refiner.cc b/intern/opensubdiv/internal/opensubdiv_topology_refiner.cc index f4a1a82ca52..ac27cbdefdc 100644 --- a/intern/opensubdiv/internal/opensubdiv_topology_refiner.cc +++ b/intern/opensubdiv/internal/opensubdiv_topology_refiner.cc @@ -123,6 +123,21 @@ void getEdgeVertices(const OpenSubdiv_TopologyRefiner *topology_refiner, edge_vertices_indices[1] = array[1]; } +int getNumVertexEdges(const OpenSubdiv_TopologyRefiner *topology_refiner, const int vertex_index) +{ + const OpenSubdiv::Far::TopologyLevel *base_level = getOSDTopologyBaseLevel(topology_refiner); + return base_level->GetVertexEdges(vertex_index).size(); +} + +void getVertexEdges(const OpenSubdiv_TopologyRefiner *topology_refiner, + const int vertex_index, + int *vertex_edges_indices) +{ + const OpenSubdiv::Far::TopologyLevel *base_level = getOSDTopologyBaseLevel(topology_refiner); + OpenSubdiv::Far::ConstIndexArray array = base_level->GetVertexEdges(vertex_index); + convertArrayToRaw(array, vertex_edges_indices); +} + int getNumFacePtexFaces(const OpenSubdiv_TopologyRefiner *topology_refiner, const int face_index) { const int num_face_vertices = topology_refiner->getNumFaceVertices(topology_refiner, face_index); @@ -201,6 +216,8 @@ void assignFunctionPointers(OpenSubdiv_TopologyRefiner *topology_refiner) topology_refiner->getNumFaceEdges = getNumFaceEdges; topology_refiner->getFaceEdges = getFaceEdges; topology_refiner->getEdgeVertices = getEdgeVertices; + topology_refiner->getNumVertexEdges = getNumVertexEdges; + topology_refiner->getVertexEdges = getVertexEdges; // PTex face geometry. topology_refiner->getNumFacePtexFaces = getNumFacePtexFaces; topology_refiner->getNumPtexFaces = getNumPtexFaces; @@ -389,7 +406,7 @@ bool compareCyclicBackward(const CyclicArray &array_a, // vertices. bool checkVerticesOfFacesMatch(const CyclicArray &indices_a, const CyclicArray &indices_b) { - if (indices_a.size() != indices_a.size()) { + if (indices_a.size() != indices_b.size()) { return false; } // "Align" the arrays so we know first matched element. |