diff --git a/GeoLib/AABB.h b/GeoLib/AABB.h index 6b9563be5187922c1788c49b68d9fff4f7d3037e..12a04af1fb7e06b03502de940e0b4f803108554b 100644 --- a/GeoLib/AABB.h +++ b/GeoLib/AABB.h @@ -42,8 +42,8 @@ public: _max_pnt(std::numeric_limits<double>::min(), std::numeric_limits<double>::min(), std::numeric_limits<double>::min()) { assert(! ids.empty()); - for (auto i : ids) { - update(*(pnts[i])); + for (unsigned i=0; i<ids.size(); ++i) { + update(*(pnts[ids[i]])); } } diff --git a/GeoLib/Surface.cpp b/GeoLib/Surface.cpp index 9675acc7758ffe51351d50f319ecb11e17edb3b4..1974d1cd519f37cabf7f662cd29cf7cedd798ae7 100644 --- a/GeoLib/Surface.cpp +++ b/GeoLib/Surface.cpp @@ -42,7 +42,11 @@ void Surface::addTriangle (std::size_t pnt_a, std::size_t pnt_b, std::size_t pnt _sfc_triangles.push_back (new Triangle(_sfc_pnts, pnt_a, pnt_b, pnt_c)); if (!_bv) { - _bv = new AABB<Point>(_sfc_pnts, {pnt_a, pnt_b, pnt_c}); + std::vector<size_t> ids(3); + ids[0] = pnt_a; + ids[1] = pnt_b; + ids[2] = pnt_c; + _bv = new AABB<Point>(_sfc_pnts, ids); } else { _bv->update (*_sfc_pnts[pnt_a]); _bv->update (*_sfc_pnts[pnt_b]);