Classes | |
class | c_polygon_primitive |
The polygon_primitive class. Defines methods for polygon extraction and expansion from a point cloud. Stores information about the polygon like the number of supporting points, supporting plane, convex hull, etc. More... | |
class | polygon_3d< PointT > |
Ros includes. More... | |
struct | t_polygon_primitive_data |
struct | t_reference_frame |
struct | t_vector3d |
Files | |
file | polygon_primitive.cpp |
Holds the c_polygon_primitive basic methods. | |
file | polygon_primitive.h |
A class c_polygon_primitive that contains information about a detected polygon primitive as well as the methods for detection. | |
file | polygon_primitive_2dhulls.cpp |
Methods for convex and concave hull computation. | |
file | polygon_primitive_auxiliary.cpp |
Auxiliary methods go here. Usually miscelaneous methods. | |
file | polygon_primitive_communication.cpp |
All ros communication functions are defined here. | |
file | polygon_primitive_offset.cpp |
Here the polygon offset methods are implemented. | |
file | polygon_primitive_operations.cpp |
Implements the high lever polygon primitive operations such as create, expand, split, etc. | |
file | polygon_primitive_planefitting.cpp |
Methods for plane fitting using ransac are implemented here. | |
Defines | |
#define | PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} |
Typedefs | |
typedef CGAL::Polygon_2< Kernel > | Contour |
typedef boost::shared_ptr < Contour > | ContourPtr |
typedef std::vector< ContourPtr > | ContourSequence |
typedef Ss::Halfedge_handle | Halfedge_handle |
typedef Ss::Halfedge_iterator | Halfedge_iterator |
typedef CGAL::Exact_predicates_inexact_constructions_kernel | Kernel |
typedef CGAL::Polygon_offset_builder_2 < Ss, OffsetBuilderTraits, Contour > | OffsetBuilder |
typedef CGAL::Polygon_offset_builder_traits_2 < Kernel > | OffsetBuilderTraits |
typedef Kernel::Point_2 | Point_2 |
typedef CGAL::Straight_skeleton_2 < Kernel > | Ss |
typedef CGAL::Straight_skeleton_builder_2 < SsBuilderTraits, Ss > | SsBuilder |
typedef CGAL::Straight_skeleton_builder_traits_2 < Kernel > | SsBuilderTraits |
typedef Ss::Vertex_handle | Vertex_handle |
Functions | |
int | c_polygon_primitive::_polygon_expansion (pcl::PointCloud< pcl::PointXYZ > *input_cloud, double longitudinal_offset, double perpendicular_offset, pcl::PointCloud< pcl::Normal > *input_normals) |
Internal function to perform single step polygon expansion. | |
void | c_polygon_primitive::allocate_space (void) |
c_polygon_primitive::c_polygon_primitive (ros::NodeHandle *node, const char *name="unamed", unsigned char r=0, unsigned char g=0, unsigned char b=0) | |
Constructor. Allocates space for the required objecs. | |
bool | c_polygon_primitive::check_if_point_lies_on_plane (const pcl::ModelCoefficients::Ptr plane, const pcl::PointXYZ *point) |
Bollean test to assess if a point lies on a plane. | |
int | c_polygon_primitive::check_plane_normal_orientation (pcl::ModelCoefficients::Ptr plane, pcl::PointXYZ *ptin, double vx, double vy, double vz) |
Checks the the normal vector of a plane at point ptin is propperly oriented according to the viewpoint vx, vy, vz. | |
void | c_polygon_primitive::compute_arrow_points_from_transform (t_reference_frame *frame) |
Computes the 3D coordinates of the arrows of a given reference frame. | |
void | c_polygon_primitive::compute_concave_hull (pcl::PointCloud< pcl::PointXYZ >::Ptr pcin, pcl::PointCloud< pcl::PointXYZ >::Ptr pcout, const pcl::ModelCoefficients::Ptr coeff) |
Computes the concave_hull of a given point cloud. | |
void | c_polygon_primitive::compute_convex_hull (const pcl::PointCloud< pcl::PointXYZ >::Ptr pcin, const pcl::ModelCoefficients::Ptr coeff, pcl::PointCloud< pcl::PointXYZ >::Ptr pcout) |
Uses pcl library to compute the convex hull of a set of points in pcin, by projecting them first to the plane defined by coeff. | |
void | c_polygon_primitive::compute_convex_hull_cgal (const pcl::PointCloud< pcl::PointXYZ >::Ptr pcin, const pcl::ModelCoefficients::Ptr coeff, pcl::PointCloud< pcl::PointXYZ >::Ptr pcout, tf::Transform *tr, double &area, double &solidity, bool flg=false) |
void | c_polygon_primitive::compute_convex_hull_cgal (const pcl::PointCloud< pcl::PointXYZ >::Ptr pcin, const pcl::ModelCoefficients::Ptr coeff, pcl::PointCloud< pcl::PointXYZ >::Ptr pcout, tf::Transform *tr) |
Uses cgal to compute the convex hull of the points in pcin. First, points are projected to the plane defined by coeff. Outputs the area and solidity of the hull. | |
int | c_polygon_primitive::compute_supporting_perpendicular_plane_ransac (pcl::PointCloud< pcl::PointXYZ > *pc_in, pcl::PointCloud< pcl::Normal > *n_in, double DistanceThreshold, double NormalDistanceWeight, int MaxIterations, pcl::PointIndices::Ptr ind_out, pcl::ModelCoefficients::Ptr coeff_out) |
int | c_polygon_primitive::compute_supporting_plane_ransac (pcl::PointCloud< pcl::PointXYZ > *input_cloud, pcl::PointCloud< pcl::Normal > *input_normals, double DistanceThreshold, double NormalDistanceWeight, int MaxIterations, pcl::PointIndices::Ptr indices, pcl::ModelCoefficients::Ptr coefficients) |
void | c_polygon_primitive::create_reference_frame_from_plane_and_two_points (pcl::ModelCoefficients::Ptr plane, pcl::PointXYZ *pt1, pcl::PointXYZ *pt2, t_reference_frame *frame) |
Creates an arbitrary reference frame from a plane equation and two inliers. The Z axis is given by the vector normal to the plane, the X axis is defined by the vector to goes from pt1 to pt2. Y is defined by the external product Z*X. | |
visualization_msgs::Marker | c_polygon_primitive::create_visualization_marker_header (std::string frame_id, ros::Time stamp, std::string name, int action, int id, int type, double px, double py, double pz, double qx, double qy, double qz, double qw, double sx, double sy, double sz, double cr, double cg, double cb, double alpha) |
int | c_polygon_primitive::create_vizualization_msgs (visualization_msgs::MarkerArray *marker_vec, unsigned int id_start=0) |
int | c_polygon_primitive::export_to_polygon_primitive_msg (polygon_primitive_msg::polygon_primitive *msg) |
double | c_polygon_primitive::fit_plane_to_pc (pcl::PointCloud< pcl::PointXYZ >::Ptr pcin, pcl::ModelCoefficients::Ptr plane) |
Fits a plane to a point cloud. | |
double | c_polygon_primitive::fit_plane_to_two_pc_and_ratio (pcl::PointCloud< pcl::PointXYZ >::Ptr pcin1, pcl::PointCloud< pcl::PointXYZ >::Ptr pcin2, double ratio, pcl::ModelCoefficients::Ptr plane) |
fits a plane to two weighted point clouds, given a ratio | |
int | c_polygon_primitive::import_from_polygon_primitive_msg (polygon_primitive_msg::polygon_primitive *msg) |
int | c_polygon_primitive::indices_extraction (pcl::PointIndices::Ptr ind, pcl::PointCloud< pcl::PointXYZ > *input_cloud, pcl::PointCloud< pcl::PointXYZ > *remove_cloud, pcl::PointCloud< pcl::PointXYZ >::Ptr copy_cloud, pcl::PointCloud< pcl::Normal > *input_normals, pcl::PointCloud< pcl::Normal > *remove_normals, int compute_normals=1) |
Extracts points from input pc and copies them to copy_cloud. Does the same with normals. | |
void | c_polygon_primitive::normalize_vector (double *v) |
Normalizes a vector. | |
void | c_polygon_primitive::offset_polygon (double val, const pcl::PointCloud< pcl::PointXYZ >::Ptr pcin, pcl::PointCloud< pcl::PointXYZ >::Ptr pcout, tf::Transform *tr) |
Offsets a given polygon. The offseting is produced along the XoY plane defined by the points in pcin. | |
int | c_polygon_primitive::polygon_create (pcl::PointCloud< pcl::PointXYZ > *input_cloud, pcl::PointCloud< pcl::Normal > *input_normals, double DistanceThreshold=0.5, double NormalDistanceWeight=0.5, int MaxIterations=1000, int do_spatial_division=0) |
Computes a polygon primitive candidate from an input point cloud and its normals. | |
int | c_polygon_primitive::polygon_expansion (pcl::PointCloud< pcl::PointXYZ > *input_cloud, double longitudinal_offset=0.2, double perpendicular_offset=0.3, pcl::PointCloud< pcl::Normal > *input_normals=NULL) |
Grows polygon by adding points from the input pc that are close to the plane and inside the convex hull. First perfoms a longitudinal expansion of the convex hull, and then selects points which are in the prisma defined by the perpeddicular -/+ offset of the extended convex hull. | |
void | c_polygon_primitive::polygon_split (pcl::PointCloud< pcl::PointXYZ >::Ptr pcin, pcl::PointCloud< pcl::PointXYZ >::Ptr pcdumpster, pcl::ModelCoefficients::Ptr coeff) |
int | c_polygon_primitive::print_polygon_information (void) |
void | c_polygon_primitive::project_pc_to_plane (pcl::PointCloud< pcl::PointXYZ >::Ptr pcin, pcl::ModelCoefficients::Ptr coeff, pcl::PointCloud< pcl::PointXYZ >::Ptr pcout) |
Projects all the points in pcin to a plane (along the normal to that plane) defined by coeff and stores the projected points in pcout. | |
void | c_polygon_primitive::project_point_to_plane (const pcl::PointXYZ *ptin, const pcl::ModelCoefficients::Ptr coeff, pcl::PointXYZ *ptout) |
Projects all the points in a point cloud ptin to the plane defined by coeff, and writes the result to ptout. | |
void | c_polygon_primitive::publish_local_tf (void) |
Publishes the local coordinate system with respect to the /world. | |
void | c_polygon_primitive::refine_plane_coefficients (pcl::PointCloud< pcl::PointXYZ >::Ptr pcin, pcl::ModelCoefficients::Ptr coeff) |
recomputes the plane coefficients of the plane that best fits in the minimum square distance sense all the points in pcin | |
void | c_polygon_primitive::set_names (const char *s) |
Sets the polygon name. | |
void | c_polygon_primitive::set_reference_systems (void) |
Sets the reference systems. | |
c_polygon_primitive::~c_polygon_primitive () | |
Destructor. Frees the space of objects. |
#define PFLN {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);} |
Definition at line 42 of file polygon_primitive.h.
typedef CGAL::Polygon_2<Kernel> Contour |
Definition at line 55 of file polygon_primitive_offset.cpp.
typedef boost::shared_ptr<Contour> ContourPtr |
Definition at line 56 of file polygon_primitive_offset.cpp.
typedef std::vector<ContourPtr> ContourSequence |
Definition at line 57 of file polygon_primitive_offset.cpp.
typedef Ss::Halfedge_handle Halfedge_handle |
Definition at line 62 of file polygon_primitive_offset.cpp.
Definition at line 61 of file polygon_primitive_offset.cpp.
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel |
Definition at line 52 of file polygon_primitive_offset.cpp.
typedef CGAL::Polygon_offset_builder_2<Ss,OffsetBuilderTraits,Contour> OffsetBuilder |
Definition at line 69 of file polygon_primitive_offset.cpp.
typedef CGAL::Polygon_offset_builder_traits_2<Kernel> OffsetBuilderTraits |
Definition at line 68 of file polygon_primitive_offset.cpp.
typedef Kernel::Point_2 Point_2 |
Definition at line 54 of file polygon_primitive_offset.cpp.
Definition at line 59 of file polygon_primitive_offset.cpp.
typedef CGAL::Straight_skeleton_builder_2<SsBuilderTraits,Ss> SsBuilder |
Definition at line 66 of file polygon_primitive_offset.cpp.
typedef CGAL::Straight_skeleton_builder_traits_2<Kernel> SsBuilderTraits |
Definition at line 65 of file polygon_primitive_offset.cpp.
typedef Ss::Vertex_handle Vertex_handle |
Definition at line 63 of file polygon_primitive_offset.cpp.
int c_polygon_primitive::_polygon_expansion | ( | pcl::PointCloud< pcl::PointXYZ > * | input_cloud, | |
double | longitudinal_offset, | |||
double | perpendicular_offset, | |||
pcl::PointCloud< pcl::Normal > * | input_normals | |||
) | [private, inherited] |
Internal function to perform single step polygon expansion.
input_cloud | the input cloud to from which the poligon primitive may expand | |
longitudinal_offset | the longitudinal offset threshold, i.e., in the local XoY plane, how much should the convex hull polygon expand | |
perpendicular_offset | the perpendicular offset threshold, i.e., in the local Z axis, how much should the polygon expansion zone be extruded. The functio will use the negative and positive value of perpendicular offset tow expan in +Z and -Z. |
Definition at line 441 of file polygon_primitive_operations.cpp.
void c_polygon_primitive::allocate_space | ( | void | ) | [private, inherited] |
Definition at line 536 of file polygon_primitive_auxiliary.cpp.
c_polygon_primitive::c_polygon_primitive | ( | ros::NodeHandle * | node, | |
const char * | name = "unamed" , |
|||
unsigned char | r = 0 , |
|||
unsigned char | g = 0 , |
|||
unsigned char | b = 0 | |||
) | [inherited] |
Constructor. Allocates space for the required objecs.
name | The name to use as reference to the polygon | |
node | ||
r | the polygon r color | |
g | the polygon g color | |
b | the polygon b color |
Definition at line 51 of file polygon_primitive.cpp.
bool c_polygon_primitive::check_if_point_lies_on_plane | ( | const pcl::ModelCoefficients::Ptr | plane, | |
const pcl::PointXYZ * | p | |||
) | [private, inherited] |
Bollean test to assess if a point lies on a plane.
plane | The definition of the plane | |
point | the point |
Definition at line 342 of file polygon_primitive_auxiliary.cpp.
int c_polygon_primitive::check_plane_normal_orientation | ( | pcl::ModelCoefficients::Ptr | plane, | |
pcl::PointXYZ * | point, | |||
double | vx, | |||
double | vy, | |||
double | vz | |||
) | [private, inherited] |
Checks the the normal vector of a plane at point ptin is propperly oriented according to the viewpoint vx, vy, vz.
plane | The plane from where the normal vector is extracted | |
ptin | The point where the test is made | |
vx | The x coordinate of the viewpoint | |
vy | The y coordinate of the viewpoint | |
vz | The z coordinate of the viewpoint |
Definition at line 367 of file polygon_primitive_auxiliary.cpp.
void c_polygon_primitive::compute_arrow_points_from_transform | ( | t_reference_frame * | frame | ) | [private, inherited] |
Computes the 3D coordinates of the arrows of a given reference frame.
frame | the reference frame |
Definition at line 418 of file polygon_primitive_auxiliary.cpp.
void c_polygon_primitive::compute_concave_hull | ( | pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin, | |
pcl::PointCloud< pcl::PointXYZ >::Ptr | pcout, | |||
const pcl::ModelCoefficients::Ptr | coeff | |||
) | [inherited] |
Computes the concave_hull of a given point cloud.
pcin | the input point cloud | |
pcout | the output polygon_3d |
Definition at line 201 of file polygon_primitive_2dhulls.cpp.
void c_polygon_primitive::compute_convex_hull | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin, | |
const pcl::ModelCoefficients::Ptr | coeff, | |||
pcl::PointCloud< pcl::PointXYZ >::Ptr | pcout | |||
) | [inherited] |
Uses pcl library to compute the convex hull of a set of points in pcin, by projecting them first to the plane defined by coeff.
pcin | the point cloud in | |
coeff | the plane coefficients | |
pcout | the point cloud out |
Definition at line 53 of file polygon_primitive_2dhulls.cpp.
void c_polygon_primitive::compute_convex_hull_cgal | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin, | |
const pcl::ModelCoefficients::Ptr | coeff, | |||
pcl::PointCloud< pcl::PointXYZ >::Ptr | pcout, | |||
tf::Transform * | tr, | |||
double & | area, | |||
double & | solidity, | |||
bool | flg = false | |||
) | [inherited] |
Definition at line 92 of file polygon_primitive_2dhulls.cpp.
void c_polygon_primitive::compute_convex_hull_cgal | ( | const pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin, | |
const pcl::ModelCoefficients::Ptr | coeff, | |||
pcl::PointCloud< pcl::PointXYZ >::Ptr | pcout, | |||
tf::Transform * | tr | |||
) | [inherited] |
Uses cgal to compute the convex hull of the points in pcin. First, points are projected to the plane defined by coeff. Outputs the area and solidity of the hull.
pcin | the point cloud in | |
coeff | the plane coefficients | |
pcout | the point cloud out | |
tr | a transformation used to define the local reference system | |
area | the hull area | |
solidity | the hull solidity |
Definition at line 85 of file polygon_primitive_2dhulls.cpp.
int c_polygon_primitive::compute_supporting_perpendicular_plane_ransac | ( | pcl::PointCloud< pcl::PointXYZ > * | pc_in, | |
pcl::PointCloud< pcl::Normal > * | n_in, | |||
double | DistanceThreshold, | |||
double | NormalDistanceWeight, | |||
int | MaxIterations, | |||
pcl::PointIndices::Ptr | ind_out, | |||
pcl::ModelCoefficients::Ptr | coeff_out | |||
) | [inherited] |
Definition at line 42 of file polygon_primitive_auxiliary.cpp.
int c_polygon_primitive::compute_supporting_plane_ransac | ( | pcl::PointCloud< pcl::PointXYZ > * | input_cloud, | |
pcl::PointCloud< pcl::Normal > * | input_normals, | |||
double | DistanceThreshold, | |||
double | NormalDistanceWeight, | |||
int | MaxIterations, | |||
pcl::PointIndices::Ptr | indices, | |||
pcl::ModelCoefficients::Ptr | coefficients | |||
) | [inherited] |
Definition at line 127 of file polygon_primitive_auxiliary.cpp.
void c_polygon_primitive::create_reference_frame_from_plane_and_two_points | ( | pcl::ModelCoefficients::Ptr | plane, | |
pcl::PointXYZ * | pt1, | |||
pcl::PointXYZ * | pt2, | |||
t_reference_frame * | frame | |||
) | [private, inherited] |
Creates an arbitrary reference frame from a plane equation and two inliers. The Z axis is given by the vector normal to the plane, the X axis is defined by the vector to goes from pt1 to pt2. Y is defined by the external product Z*X.
plane | the plane that defines the Z axis | |
pt1 | The first point | |
pt2 | The second point | |
The | output reference frame |
Definition at line 231 of file polygon_primitive_auxiliary.cpp.
visualization_msgs::Marker c_polygon_primitive::create_visualization_marker_header | ( | std::string | frame_id, | |
ros::Time | stamp, | |||
std::string | name, | |||
int | action, | |||
int | id, | |||
int | type, | |||
double | px, | |||
double | py, | |||
double | pz, | |||
double | qx, | |||
double | qy, | |||
double | qz, | |||
double | qw, | |||
double | sx, | |||
double | sy, | |||
double | sz, | |||
double | cr, | |||
double | cg, | |||
double | cb, | |||
double | alpha | |||
) | [inherited] |
Definition at line 155 of file polygon_primitive_communication.cpp.
int c_polygon_primitive::create_vizualization_msgs | ( | visualization_msgs::MarkerArray * | marker_vec, | |
unsigned int | id_start = 0 | |||
) | [inherited] |
Definition at line 175 of file polygon_primitive_communication.cpp.
int c_polygon_primitive::export_to_polygon_primitive_msg | ( | polygon_primitive_msg::polygon_primitive * | msg | ) | [inherited] |
Definition at line 44 of file polygon_primitive_communication.cpp.
double c_polygon_primitive::fit_plane_to_pc | ( | pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin, | |
pcl::ModelCoefficients::Ptr | plane | |||
) | [private, inherited] |
Fits a plane to a point cloud.
pcin | The point cloud in | |
plane | The plane coefficients |
Definition at line 54 of file polygon_primitive_planefitting.cpp.
double c_polygon_primitive::fit_plane_to_two_pc_and_ratio | ( | pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin1, | |
pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin2, | |||
double | ratio, | |||
pcl::ModelCoefficients::Ptr | plane | |||
) | [private, inherited] |
fits a plane to two weighted point clouds, given a ratio
pcin1 | first point cloud | |
pcin2 | Second point cloud | |
ratio | the ratio, similar to slerp, if ratio=1 then the weight is all on the pcin1, if ratio=0, only pcin2 counts | |
plane | The output plane coefficients |
Definition at line 87 of file polygon_primitive_planefitting.cpp.
int c_polygon_primitive::import_from_polygon_primitive_msg | ( | polygon_primitive_msg::polygon_primitive * | msg | ) | [inherited] |
Definition at line 102 of file polygon_primitive_communication.cpp.
int c_polygon_primitive::indices_extraction | ( | pcl::PointIndices::Ptr | ind, | |
pcl::PointCloud< pcl::PointXYZ > * | input_cloud, | |||
pcl::PointCloud< pcl::PointXYZ > * | remove_cloud, | |||
pcl::PointCloud< pcl::PointXYZ >::Ptr | copy_cloud, | |||
pcl::PointCloud< pcl::Normal > * | input_normals, | |||
pcl::PointCloud< pcl::Normal > * | remove_normals, | |||
int | compute_normals = 1 | |||
) | [inherited] |
Extracts points from input pc and copies them to copy_cloud. Does the same with normals.
ind | ||
input_cloud | ||
remove_cloud | ||
copy_cloud | ||
input_normals | ||
remove_normals | ||
compute_normals |
Definition at line 177 of file polygon_primitive_auxiliary.cpp.
void c_polygon_primitive::normalize_vector | ( | double * | v | ) | [private, inherited] |
Normalizes a vector.
v | the vector to normalize v[0]=x , v[1]=y, v[2]=z |
Definition at line 559 of file polygon_primitive_auxiliary.cpp.
void c_polygon_primitive::offset_polygon | ( | double | offset, | |
const pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin, | |||
pcl::PointCloud< pcl::PointXYZ >::Ptr | pcout, | |||
tf::Transform * | tr | |||
) | [private, inherited] |
Offsets a given polygon. The offseting is produced along the XoY plane defined by the points in pcin.
val | the value of offset, in meters. | |
pcin | the point cloud in | |
pcout | the point cloud out, offseted. | |
tr | the transformation that brings the points in pcin from the /world coordinates to the local coordinates, i.e., points in pcin are transformed by tr to pc_local, only them the offset is performed. |
Definition at line 80 of file polygon_primitive_offset.cpp.
int c_polygon_primitive::polygon_create | ( | pcl::PointCloud< pcl::PointXYZ > * | input_cloud, | |
pcl::PointCloud< pcl::Normal > * | input_normals, | |||
double | DistanceThreshold = 0.5 , |
|||
double | NormalDistanceWeight = 0.5 , |
|||
int | MaxIterations = 1000 , |
|||
int | do_spatial_division = 0 | |||
) | [inherited] |
Computes a polygon primitive candidate from an input point cloud and its normals.
input_cloud | the point cloud in | |
input_normals | the estimated normals of each point | |
DistanceThreshold | the distance used in the ransac method | |
NormalDistanceWeight | the distance used in the ransac method for the normals | |
MaxIterations | Maximum number of ransac iterations | |
do_spatial_division | if true, after ransac generates a candidate, an euclidian cluster is performed in order to select the biggest cluster |
Definition at line 54 of file polygon_primitive_operations.cpp.
int c_polygon_primitive::polygon_expansion | ( | pcl::PointCloud< pcl::PointXYZ > * | input_cloud, | |
double | longitudinal_offset = 0.2 , |
|||
double | perpendicular_offset = 0.3 , |
|||
pcl::PointCloud< pcl::Normal > * | input_normals = NULL | |||
) | [inherited] |
Grows polygon by adding points from the input pc that are close to the plane and inside the convex hull. First perfoms a longitudinal expansion of the convex hull, and then selects points which are in the prisma defined by the perpeddicular -/+ offset of the extended convex hull.
input_cloud | the point cloud in, from which the polygon can expand | |
longitudinal_offset | the offset used to expand the convex hull | |
perpendicular_offset | the offset used to compute the prisma |
Definition at line 341 of file polygon_primitive_operations.cpp.
void c_polygon_primitive::polygon_split | ( | pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin, | |
pcl::PointCloud< pcl::PointXYZ >::Ptr | pcdumpster, | |||
pcl::ModelCoefficients::Ptr | coeff | |||
) | [inherited] |
Definition at line 516 of file polygon_primitive_operations.cpp.
int c_polygon_primitive::print_polygon_information | ( | void | ) | [inherited] |
Definition at line 570 of file polygon_primitive_auxiliary.cpp.
void c_polygon_primitive::project_pc_to_plane | ( | pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin, | |
pcl::ModelCoefficients::Ptr | coeff, | |||
pcl::PointCloud< pcl::PointXYZ >::Ptr | pcout | |||
) | [inherited] |
Projects all the points in pcin to a plane (along the normal to that plane) defined by coeff and stores the projected points in pcout.
pcin | the point cloud in | |
coeff | the plane coefficients | |
pcout | the point cloud out |
Definition at line 499 of file polygon_primitive_auxiliary.cpp.
void c_polygon_primitive::project_point_to_plane | ( | const pcl::PointXYZ * | ptin, | |
const pcl::ModelCoefficients::Ptr | coeff, | |||
pcl::PointXYZ * | ptout | |||
) | [private, inherited] |
Projects all the points in a point cloud ptin to the plane defined by coeff, and writes the result to ptout.
ptin | the input point cloud | |
coeff | the projection plane | |
ptout | the output point cloud |
from http://www.9math.com/book/projection-point-plane
Definition at line 281 of file polygon_primitive_auxiliary.cpp.
void c_polygon_primitive::publish_local_tf | ( | void | ) | [private, inherited] |
Publishes the local coordinate system with respect to the /world.
Definition at line 147 of file polygon_primitive_communication.cpp.
void c_polygon_primitive::refine_plane_coefficients | ( | pcl::PointCloud< pcl::PointXYZ >::Ptr | pcin, | |
pcl::ModelCoefficients::Ptr | coeff | |||
) | [private, inherited] |
recomputes the plane coefficients of the plane that best fits in the minimum square distance sense all the points in pcin
pcin | the input point cloud | |
coeff | the output refined plane coefficients |
Definition at line 471 of file polygon_primitive_auxiliary.cpp.
void c_polygon_primitive::set_names | ( | const char * | s | ) | [private, inherited] |
Sets the polygon name.
s | the string with the name |
Definition at line 515 of file polygon_primitive_auxiliary.cpp.
void c_polygon_primitive::set_reference_systems | ( | void | ) | [private, inherited] |
Sets the reference systems.
Definition at line 523 of file polygon_primitive_auxiliary.cpp.
c_polygon_primitive::~c_polygon_primitive | ( | ) | [inherited] |
Destructor. Frees the space of objects.
Definition at line 80 of file polygon_primitive.cpp.