diff --git a/VirtualRobot/Visualization/TriMeshUtils.cpp b/VirtualRobot/Visualization/TriMeshUtils.cpp index 77b5d986d630be150c40c365ddf3c7e71052f8ef..8226594f5494323262ef37862c752ade33b49cf7 100644 --- a/VirtualRobot/Visualization/TriMeshUtils.cpp +++ b/VirtualRobot/Visualization/TriMeshUtils.cpp @@ -24,6 +24,7 @@ #include "TriMeshUtils.h" #include "../VirtualRobotException.h" #include <Eigen/Geometry> +#include <cstddef> #include <numeric> namespace VirtualRobot { @@ -167,8 +168,9 @@ Eigen::Vector3f TriMeshUtils::sampleSurfacePoint(const std::vector<float>& cumul } float r = static_cast<float>(uniformDeviate(rand()) * totalArea); - std::vector<float>::iterator low = std::lower_bound(cumulativeAreas->begin(), cumulativeAreas->end(), r); - auto f = tri.faces[low - cumulativeAreas->begin()]; + const auto low = std::lower_bound(cumulativeAreas.begin(), cumulativeAreas.end(), r); + // const std::size_t idx = std::distance(cumulativeAreas.begin(), low); + auto f = tri.faces[low - cumulativeAreas.begin()]; float r1 = static_cast<float>(uniformDeviate(rand())); float r2 = static_cast<float>(uniformDeviate(rand()));