ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

pcl::ConvexHull not instantiated for pcl::PointXY?

asked 2011-10-21 13:45:50 -0600

updated 2011-10-28 14:23:25 -0600

I get a linker error:

undefined reference to pcl::ConvexHull<pcl::pointxy>::reconstruct(pcl::PointCloud<pcl::pointxy>&)

My manifest.xml includes "pcl" and "pcl_ros" listed as dependencies Should I use some other point type for computing convex hull of 2D points?

pcl::PointCloud<pcl::PointXY> rectConvexHull;  // the convex hull in ROS.

void compute2DConvexHull()
{
    if(rectConvexHull.size()>0)
        return;

    pcl::ConvexHull<pcl::PointXY> computeConvexHull;

    computeConvexHull.setInputCloud(scene2DPtr);

    computeConvexHull.setIndices(getPointIndicesBoostPtr());

    computeConvexHull.reconstruct(rectConvexHull);
}
edit retag flag offensive close merge delete

Comments

I'd suggest asking this on pcl-users; you'll probably get a quicker response there.
Mac gravatar image Mac  ( 2011-10-29 07:40:07 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2012-04-04 05:52:42 -0600

I am not completely sure because it has been a while, but I believe you have to use pcl::PointXYZ with z=0 (or another arbitrary constant) for all points. You can try to #include <pcl/surface/impl/convex_hull.hpp> instead, but if I remember correctly, the implementation actually expects 3D points and will choke on pcl::PointXY.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2011-10-21 13:45:50 -0600

Seen: 1,159 times

Last updated: Apr 04 '12