void DistanceFieldFitter::initializeFromMesh(const arm_navigation_msgs::Shape &mesh) { std::vector<btVector3> btVectors; //we use a slightly larger resolution than the distance field, in an attempt to bring //down pre-computation time sampleMesh(mesh, btVectors, 1.5 * distance_field_resolution_ ); initializeFromBtVectors(btVectors); }
void DistanceFieldFitter::initializeFromMesh(const shape_msgs::Mesh &mesh) { std::vector<cv::Point3f> btVectors; model_points_.reserve(mesh.vertices.size()); typedef std::vector<geometry_msgs::Point>::const_iterator I; for (I i = mesh.vertices.begin(); i != mesh.vertices.end(); i++) model_points_.push_back(cv::Point3f(i->x,i->y,i->z)); // 20mm resolution //sampleMesh(mesh, model_points_, 0.02 ); //we use a slightly larger resolution than the distance field, in an attempt to bring //down pre-computation time sampleMesh(mesh, btVectors, 1.5 * distance_field_resolution_ ); initializeFromVector(btVectors); }