An #ifdef inside a CGAL_assertion_msg() does not compile on VC12

This commit is contained in:
Andreas Fabri 2018-05-30 08:15:31 +01:00
parent 14a919b587
commit 89d96f4ce8
2 changed files with 19 additions and 12 deletions

View File

@ -208,43 +208,50 @@ private:
scale(vy, y)); scale(vy, y));
v_int = g_manip.get_vertex(inter_p, false); v_int = g_manip.get_vertex(inter_p, false);
g_manip.try_add_edge(old, v_int); g_manip.try_add_edge(old, v_int);
#ifndef CGAL_CFG_NO_CPP0X_LAMBDAS
CGAL_assertion_msg(max_squared_distance == 0 || CGAL_assertion_msg(max_squared_distance == 0 ||
CGAL::squared_distance(g_manip.g[old].point, CGAL::squared_distance(g_manip.g[old].point,
g_manip.g[v_int].point) < g_manip.g[v_int].point) <
max_squared_distance, max_squared_distance,
#ifndef CGAL_CFG_NO_CPP0X_LAMBDAS
([this, old, v_int] { ([this, old, v_int] {
std::stringstream s; std::stringstream s;
s << "Problem at segment (" s << "Problem at segment ("
<< this->g_manip.g[old].point << ", " << this->g_manip.g[old].point << ", "
<< this->g_manip.g[v_int].point << ")"; << this->g_manip.g[v_int].point << ")";
return s.str(); return s.str();
}().c_str()) }().c_str()));
#else // no C++ lamdbas #else // no C++ lamdbas
"" CGAL_assertion(max_squared_distance == 0 ||
CGAL::squared_distance(g_manip.g[old].point,
g_manip.g[v_int].point) <
max_squared_distance);
#endif // no C++ lamdbas #endif // no C++ lamdbas
);
old = v_int; old = v_int;
} }
if(null_vertex != v_int) { if(null_vertex != v_int) {
// v_int can be null if the curve is degenerated into one point. // v_int can be null if the curve is degenerated into one point.
g_manip.try_add_edge(v_int, end_v); g_manip.try_add_edge(v_int, end_v);
#ifndef CGAL_CFG_NO_CPP0X_LAMBDAS
CGAL_assertion_msg(max_squared_distance == 0 || CGAL_assertion_msg(max_squared_distance == 0 ||
CGAL::squared_distance(g_manip.g[end_v].point, CGAL::squared_distance(g_manip.g[end_v].point,
g_manip.g[v_int].point) < g_manip.g[v_int].point) <
max_squared_distance, max_squared_distance,
#ifndef CGAL_CFG_NO_CPP0X_LAMBDAS
([this, end_v, v_int] { ([this, end_v, v_int] {
std::stringstream s; std::stringstream s;
s << "Problem at segment (" s << "Problem at segment ("
<< this->g_manip.g[end_v].point << ", " << this->g_manip.g[end_v].point << ", "
<< this->g_manip.g[v_int].point << ")"; << this->g_manip.g[v_int].point << ")";
return s.str(); return s.str();
}().c_str()) }().c_str()));
#else // no C++ lamdbas #else // no C++ lamdbas
"" CGAL_assertion(max_squared_distance == 0 ||
CGAL::squared_distance(g_manip.g[end_v].point,
g_manip.g[v_int].point) <
max_squared_distance);
#endif // no C++ lamdbas #endif // no C++ lamdbas
);
} }
} }
}; };

View File

@ -70,9 +70,9 @@ private:
{ {
EigenMatrix m; EigenMatrix m;
for(std::size_t i=0; i<dim; ++i) for(int i=0; i<dim; ++i)
{ {
for(std::size_t j=i; j<dim; ++j) for(int j=i; j<dim; ++j)
{ {
m(i,j) = static_cast<float>(cov[(dim * i) + j - ((i * (i+1)) / 2)]); m(i,j) = static_cast<float>(cov[(dim * i) + j - ((i * (i+1)) / 2)]);
@ -150,11 +150,11 @@ public:
if(res) if(res)
{ {
for(std::size_t i=0; i<dim; ++i) for(int i=0; i<dim; ++i)
{ {
eigenvalues[i] = static_cast<FT>(eigenvalues_[i]); eigenvalues[i] = static_cast<FT>(eigenvalues_[i]);
for(std::size_t j=0; j<dim; ++j) for(int j=0; j<dim; ++j)
eigenvectors[dim*i + j] = static_cast<FT>(eigenvectors_(j,i)); eigenvectors[dim*i + j] = static_cast<FT>(eigenvectors_(j,i));
} }
} }