58 auto dist_compare = [&pos](std::pair<double, Utils::Vector3d>
const &res,
59 std::shared_ptr<Shapes::Shape>
const &shape) {
62 shape->calculate_dist(pos, d, vec);
64 throw std::domain_error(
65 "Distance to Union not well-defined for given position!");
67 return std::make_pair(d, vec);
72 std::accumulate(m_shapes.begin(), m_shapes.end(),
73 std::make_pair(std::numeric_limits<double>::infinity(),