RobWorkProject
23.9.11-
|
calculates the stable poses of an object when the support structure is planar. More...
#include <PlanarSupportPoseGenerator.hpp>
Public Member Functions | |
PlanarSupportPoseGenerator () | |
constructor More... | |
PlanarSupportPoseGenerator (rw::core::Ptr< rw::geometry::ConvexHull3D > hullGenerator) | |
constructor - a convex hull generator can be supplied More... | |
void | analyze (const rw::geometry::TriMesh &mesh) |
calculates the hull and the support poses. More... | |
void | analyze (const std::vector< rw::core::Ptr< rw::geometry::Geometry >> &bodies, rw::kinematics::Frame *ref, const rw::kinematics::State &state) |
void | calculateDistribution (int i, std::vector< rw::math::Transform3D<>> &poses, std::vector< rw::math::Transform3D<>> &posesMises) |
std::vector< SupportPose > | getSupportPoses () |
gets the previously calculated support poses. More... | |
calculates the stable poses of an object when the support structure is planar.
This support pose generator implementation calculates the convex hull of an object and projects the center of mass of the object onto all polygons of the convex hull. If the projection is inside the polygon then the polygon is considered as a stable support pose. Only projections that are within some threshold of the border of a support polygon is used to further generate support poses.
constructor
PlanarSupportPoseGenerator | ( | rw::core::Ptr< rw::geometry::ConvexHull3D > | hullGenerator | ) |
constructor - a convex hull generator can be supplied
hullGenerator |
void analyze | ( | const rw::geometry::TriMesh & | mesh | ) |
calculates the hull and the support poses.
mesh |
std::vector<SupportPose> getSupportPoses | ( | ) |
gets the previously calculated support poses.