Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenkernel/intern/mesh_fair.cc')
-rw-r--r--source/blender/blenkernel/intern/mesh_fair.cc27
1 files changed, 15 insertions, 12 deletions
diff --git a/source/blender/blenkernel/intern/mesh_fair.cc b/source/blender/blenkernel/intern/mesh_fair.cc
index 8936d7b0ba6..0fe58366449 100644
--- a/source/blender/blenkernel/intern/mesh_fair.cc
+++ b/source/blender/blenkernel/intern/mesh_fair.cc
@@ -27,6 +27,8 @@
#include "eigen_capi.h"
using blender::Map;
+using blender::MutableSpan;
+using blender::Span;
using blender::Vector;
using std::array;
@@ -193,13 +195,14 @@ class MeshFairingContext : public FairingContext {
totvert_ = mesh->totvert;
totloop_ = mesh->totloop;
- medge_ = mesh->medge;
- mpoly_ = mesh->mpoly;
- mloop_ = mesh->mloop;
+ MutableSpan<MVert> verts = mesh->vertices_for_write();
+ medge_ = mesh->edges();
+ mpoly_ = mesh->polygons();
+ mloop_ = mesh->loops();
BKE_mesh_vert_loop_map_create(&vlmap_,
&vlmap_mem_,
- mesh->mpoly,
- mesh->mloop,
+ mpoly_.data(),
+ mloop_.data(),
mesh->totvert,
mesh->totpoly,
mesh->totloop);
@@ -213,14 +216,14 @@ class MeshFairingContext : public FairingContext {
}
else {
for (int i = 0; i < mesh->totvert; i++) {
- co_[i] = mesh->mvert[i].co;
+ co_[i] = verts[i].co;
}
}
loop_to_poly_map_.reserve(mesh->totloop);
for (int i = 0; i < mesh->totpoly; i++) {
- for (int l = 0; l < mesh->mpoly[i].totloop; l++) {
- loop_to_poly_map_[l + mesh->mpoly[i].loopstart] = i;
+ for (int l = 0; l < mpoly_[i].totloop; l++) {
+ loop_to_poly_map_[l + mpoly_[i].loopstart] = i;
}
}
}
@@ -244,7 +247,7 @@ class MeshFairingContext : public FairingContext {
int other_vertex_index_from_loop(const int loop, const uint v) override
{
- MEdge *e = &medge_[mloop_[loop].e];
+ const MEdge *e = &medge_[mloop_[loop].e];
if (e->v1 == v) {
return e->v2;
}
@@ -253,9 +256,9 @@ class MeshFairingContext : public FairingContext {
protected:
Mesh *mesh_;
- MLoop *mloop_;
- MPoly *mpoly_;
- MEdge *medge_;
+ Span<MLoop> mloop_;
+ Span<MPoly> mpoly_;
+ Span<MEdge> medge_;
Vector<int> loop_to_poly_map_;
};