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));
v_int = g_manip.get_vertex(inter_p, false);
g_manip.try_add_edge(old, v_int);
#ifndef CGAL_CFG_NO_CPP0X_LAMBDAS
CGAL_assertion_msg(max_squared_distance == 0 ||
CGAL::squared_distance(g_manip.g[old].point,
g_manip.g[v_int].point) <
max_squared_distance,
#ifndef CGAL_CFG_NO_CPP0X_LAMBDAS
([this, old, v_int] {
std::stringstream s;
s << "Problem at segment ("
<< this->g_manip.g[old].point << ", "
<< this->g_manip.g[v_int].point << ")";
return s.str();
}().c_str())
}().c_str()));
#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
);
old = v_int;
}
if(null_vertex != v_int) {
// v_int can be null if the curve is degenerated into one point.
g_manip.try_add_edge(v_int, end_v);
#ifndef CGAL_CFG_NO_CPP0X_LAMBDAS
CGAL_assertion_msg(max_squared_distance == 0 ||
CGAL::squared_distance(g_manip.g[end_v].point,
g_manip.g[v_int].point) <
max_squared_distance,
#ifndef CGAL_CFG_NO_CPP0X_LAMBDAS
([this, end_v, v_int] {
std::stringstream s;
s << "Problem at segment ("
<< this->g_manip.g[end_v].point << ", "
<< this->g_manip.g[v_int].point << ")";
return s.str();
}().c_str())
}().c_str()));
#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
);
}
}
};

View File

@ -70,9 +70,9 @@ private:
{
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)]);
@ -150,11 +150,11 @@ public:
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]);
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));
}
}