made unique the list of seeds to start from for isotropic remeshing in case of adaptive meshing
This commit is contained in:
parent
ed5ae26e42
commit
d991f12595
|
|
@ -379,6 +379,8 @@ private:
|
||||||
tri::RequirePerVertexQuality(m);
|
tri::RequirePerVertexQuality(m);
|
||||||
tri::UpdateTopology<MeshType>::FaceFace(m);
|
tri::UpdateTopology<MeshType>::FaceFace(m);
|
||||||
// tri::UpdateFlags<MeshType>::VertexClearV(m);
|
// tri::UpdateFlags<MeshType>::VertexClearV(m);
|
||||||
|
for (size_t i=0;i<m.vert.size();i++)
|
||||||
|
m.vert[i].IMark()=0;
|
||||||
|
|
||||||
std::vector<VertexPointer> seeds;
|
std::vector<VertexPointer> seeds;
|
||||||
ForEachFace(m, [&] (FaceType & f) {
|
ForEachFace(m, [&] (FaceType & f) {
|
||||||
|
|
@ -392,6 +394,10 @@ private:
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
std::sort(seeds.begin(),seeds.end());
|
||||||
|
auto last=std::unique(seeds.begin(),seeds.end());
|
||||||
|
seeds.erase(last, seeds.end());
|
||||||
|
|
||||||
tri::EuclideanDistance<MeshType> eu;
|
tri::EuclideanDistance<MeshType> eu;
|
||||||
tri::Geodesic<MeshType>::PerVertexDijkstraCompute(m, seeds, eu);
|
tri::Geodesic<MeshType>::PerVertexDijkstraCompute(m, seeds, eu);
|
||||||
tri::Smooth<MeshType>::VertexQualityLaplacian(m, 2);
|
tri::Smooth<MeshType>::VertexQualityLaplacian(m, 2);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue