This commit is contained in:
Luigi Malomo 2018-05-18 13:25:34 +02:00
parent 4ca887ba58
commit 20d7468438
2 changed files with 20 additions and 20 deletions

View File

@ -206,7 +206,7 @@ public:
if(tri::HasPerVertexQuality(m) ) if(tri::HasPerVertexQuality(m) )
m.vert.back().Q() = f.cV(0)->Q()*p[0] + f.cV(1)->Q()*p[1] + f.cV(2)->Q()*p[2]; m.vert.back().Q() = f.cV(0)->Q()*p[0] + f.cV(1)->Q()*p[1] + f.cV(2)->Q()*p[2];
} }
}; // end class BaseSampler }; // end class MeshSampler
@ -2311,7 +2311,7 @@ void PoissonPruning(MeshType &m, // the mesh that has to be pruned
tri::UpdateBounding<MeshType>::Box(m); tri::UpdateBounding<MeshType>::Box(m);
BaseSampler pdSampler; BaseSampler pdSampler;
tri::SurfaceSampling<MeshType,BaseSampler>::PoissonDiskPruning(pdSampler, m, radius,pp); tri::SurfaceSampling<MeshType,BaseSampler>::PoissonDiskPruning(pdSampler, m, radius,pp);
std::swap(pdSampler.sampleVec,poissonSamples); poissonSamples = pdSampler.sampleVec;
} }

View File

@ -470,24 +470,24 @@ public:
} }
} }
/// \brief Marks feature edges according to border flag. /// \brief Selects feature edges according to Face adjacency.
/// Actually it marks as fauxedges all the non border edges, ///
/// static void FaceEdgeSelBorder(MeshType &m)
static void FaceEdgeSelBorder(MeshType &m) {
{ RequirePerFaceFlags(m);
RequirePerFaceFlags(m); RequireFFAdjacency(m);
RequireFFAdjacency(m); //initially Nothing is selected
//initially Nothing is faux (e.g all crease) FaceClearFaceEdgeS(m);
FaceClearFaceEdgeS(m); for (FaceIterator fi=m.face.begin(); fi!=m.face.end();++fi)
// Then mark faux only if the signed angle is the range. if (!fi->IsD())
for(FaceIterator fi=m.face.begin();fi!=m.face.end();++fi) if(!(*fi).IsD()) {
{ for (int z=0; z<(*fi).VN(); ++z)
for(int z=0;z<(*fi).VN();++z) {
{ if (face::IsBorder(*fi,z))
if(!face::IsBorder(*fi,z) ) (*fi).SetFaceEdgeS(z); fi->SetFaceEdgeS(z);
} }
} }
} }
/// \brief Marks feature edges according to a given angle /// \brief Marks feature edges according to a given angle
/// Actually it uses the face_edge selection bit on faces, /// Actually it uses the face_edge selection bit on faces,