#include "geometric_shapes/bodies.h"#include "geometric_shapes/body_operations.h"#include "geometric_shapes/check_isometry.h"#include <console_bridge/console.h>#include <qhull/qhull.h>#include <qhull/mem.h>#include <qhull/qset.h>#include <qhull/geom.h>#include <qhull/merge.h>#include <qhull/poly.h>#include <qhull/io.h>#include <qhull/stat.h>#include <boost/math/constants/constants.hpp>#include <limits>#include <cstdio>#include <cmath>#include <algorithm>#include <Eigen/Geometry>#include <unordered_map>#include <mutex>
Go to the source code of this file.
Classes | |
| struct | bodies::detail::intersc |
| struct | bodies::detail::interscOrder |
Namespaces | |
| bodies | |
| This set of classes allows quickly detecting whether a given point is inside an object or not. This capability is useful when removing points from inside the robot (when the robot sees its arms, for example). | |
| bodies::detail | |
Functions | |
| static double | bodies::detail::distanceSQR (const Eigen::Vector3d &p, const Eigen::Vector3d &origin, const Eigen::Vector3d &dir) |
| Compute the square of the distance between a ray and a point Note: this requires 'dir' to be normalized. More... | |
| void | bodies::detail::filterIntersections (std::vector< detail::intersc > &ipts, EigenSTL::vector_Vector3d *intersections, const size_t count) |
| Take intersections points in ipts and add them to intersections, filtering duplicates. More... | |
| static std::map< size_t, size_t > & | bodies::detail::getTriangleForPlane (const ConvexMesh *mesh) |
| Eigen::Vector3d | bodies::normalize (const Eigen::Vector3d &dir) |
Variables | |
| std::unordered_map< const ConvexMesh *, std::map< size_t, size_t > > | bodies::detail::g_triangle_for_plane_ |
| std::mutex | bodies::detail::g_triangle_for_plane_mutex |
| Lock this mutex every time you work with g_triangle_for_plane_. More... | |
| static const double | bodies::detail::ZERO = 1e-9 |