more bugs under gcc/clang 2 (checked compilation under windows wsl)

This commit is contained in:
T.Alderighi 2018-05-11 12:20:08 +02:00
parent c92ccb5656
commit 8ce27cfcf8
5 changed files with 16 additions and 15 deletions

View File

@ -54,6 +54,7 @@ class Smooth
typedef typename MeshType::FacePointer FacePointer;
typedef typename MeshType::FaceIterator FaceIterator;
typedef typename MeshType::FaceContainer FaceContainer;
typedef typename MeshType::TetraType TetraType;
typedef typename vcg::Box3<ScalarType> Box3Type;
typedef typename vcg::face::VFIterator<FaceType> VFLocalIterator;
@ -215,7 +216,7 @@ class Smooth
float weight = 1.0f;
//if we are applying to a tetrahedral mesh:
ForEachTetra(m, [&](MeshType::TetraType &t) {
ForEachTetra(m, [&](TetraType &t) {
for (int i = 0; i < 4; ++i)
if (!t.IsB(i))
{
@ -238,7 +239,7 @@ class Smooth
}
});
ForEachTetra(m, [&](MeshType::TetraType &t) {
ForEachTetra(m, [&](TetraType &t) {
for (int i = 0; i < 4; ++i)
if (t.IsB(i))
{
@ -257,7 +258,7 @@ class Smooth
}
});
ForEachTetra(m, [&](MeshType::TetraType &t) {
ForEachTetra(m, [&](TetraType &t) {
for (int i = 0; i < 4; ++i)
if (t.IsB(i))
{

View File

@ -311,7 +311,7 @@ public:
assert(!math::IsNAN(t.Q()) && "You should never try to compute Histogram with Invalid Floating points numbers (NaN)");
h.Add(t.Q());
}
})
});
}
static void ComputePerTetraQualityHistogram(MeshType & m, Histogram<ScalarType> & h, bool selectionOnly = false, int HistSize = 10000)

View File

@ -144,14 +144,14 @@ static void FaceArea(MeshType &m)
static void TetraConstant(MeshType & m, const TetraQualityType q)
{
tri::RequirePerTetraQuality(m);
ForEachTetra(m, [&q] (MeshType::TetraType & t) {
ForEachTetra(m, [&q] (TetraType & t) {
t.Q() = q;
});
}
static void TetraFromVolume(MeshType & m)
{
tri::RequirePerTetraQuality(m);
ForEachTetra(m, [] (MeshType::TetraType & t) {
ForEachTetra(m, [] (TetraType & t) {
t.Q() = TetraQualityType(vcg::Tetra::ComputeVolume(t));
});
}
@ -159,7 +159,7 @@ static void TetraFromVolume(MeshType & m)
static void TetraFromAspectRatio(MeshType & m)
{
tri::RequirePerTetraQuality(m);
ForEachTetra(m, [] (MeshType::TetraType & t) {
ForEachTetra(m, [] (TetraType & t) {
t.Q() = TetraQualityType(vcg::Tetra::AspectRatio(t));
});
}

View File

@ -218,7 +218,7 @@ static size_t FaceAll(MeshType &m)
/// \brief This function select all the tetras.
static size_t TetraAll (MeshType & m)
{
ForEachTetra(m, [] (MeshType::TetraType & t) {
ForEachTetra(m, [] (TetraType & t) {
t.SetS();
});
@ -252,7 +252,7 @@ static size_t FaceClear(MeshType &m)
/// \brief This function clears the selection flag for all the tetras.
static size_t TetraClear (MeshType & m)
{
ForEachTetra(m, [] (MeshType::TetraType & t) {
ForEachTetra(m, [] (TetraType & t) {
t.ClearS();
});
@ -299,7 +299,7 @@ static size_t VertexCount(MeshType &m)
static size_t TetraCount (MeshType & m)
{
size_t selCnt = 0;
ForEachTetra(m, [&selCnt] (MeshType::TetraType & t) {
ForEachTetra(m, [&selCnt] (TetraType & t) {
if (t.IsS())
++selCnt;
});
@ -358,7 +358,7 @@ static size_t VertexInvert(MeshType &m)
static size_t TetraInvert (MeshType & m)
{
size_t selCnt = 0;
ForEachTetra(m, [&selCnt] (MeshType::TetraType & t) {
ForEachTetra(m, [&selCnt] (TetraType & t) {
if (t.IsS())
t.ClearS();
else

View File

@ -122,7 +122,7 @@ public:
static void FillFaceVector (MeshType & m, std::vector<PFace> & fvec)
{
ForEachTetra(m, [&fvec] (MeshType::TetraType & t) {
ForEachTetra(m, [&fvec] (TetraType & t) {
for (int i = 0; i < 4; ++i)
fvec.push_back(PFace(&t, i));
});
@ -320,7 +320,7 @@ static void AllocateEdge(MeshType &m)
static void ClearTetraTetra (MeshType & m)
{
RequireTTAdjacency(m);
ForEachTetra(m, [] (MeshType::TetraType & t) {
ForEachTetra(m, [] (TetraType & t) {
for (int i = 0; i < 4; ++i)
{
t.TTp(i) = NULL;
@ -437,12 +437,12 @@ static void VertexTetra(MeshType & m)
RequireVTAdjacency(m);
ForEachVertex(m, [] (MeshType::VertexType & v) {
ForEachVertex(m, [] (VertexType & v) {
v.VTp() = NULL;
v.VTi() = 0;
});
ForEachTetra(m, [] (MeshType::TetraType & t) {
ForEachTetra(m, [] (TetraType & t) {
//this works like this: the first iteration defines the end of the chain
//then it backwards chains everything
for (int i = 0; i < 4; ++i)