polygon_primitive -Automatic Group Name-Please adjust. vs strikes again :-) 05-Feb-2012

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< KernelContour
typedef boost::shared_ptr
< Contour
ContourPtr
typedef std::vector< ContourPtrContourSequence
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 Documentation

#define PFLN   {printf("DEBUG PRINT FILE %s LINE %d\n",__FILE__,__LINE__);}

Definition at line 42 of file polygon_primitive.h.


Typedef Documentation

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.

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.

Definition at line 54 of file polygon_primitive_offset.cpp.

typedef CGAL::Straight_skeleton_2<Kernel> Ss

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.

Definition at line 63 of file polygon_primitive_offset.cpp.


Function Documentation

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.

Parameters:
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.
Returns:
1 if an expansion occurred, 0 if no expansion occurred.

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.

Parameters:
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.

Parameters:
plane The definition of the plane
point the point
Returns:
true if yes, false if the point does not lie on the plane

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.

Parameters:
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
Returns:
1 if ok, 0 if error

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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
pcin The point cloud in
plane The plane coefficients
Returns:
The quality of fitting, from 0-1

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

Parameters:
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
Returns:
the fitting quality from 0 to 1

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.

Parameters:
ind 
input_cloud 
remove_cloud 
copy_cloud 
input_normals 
remove_normals 
compute_normals 
Returns:

Definition at line 177 of file polygon_primitive_auxiliary.cpp.

void c_polygon_primitive::normalize_vector ( double *  v  )  [private, inherited]

Normalizes a vector.

Parameters:
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.

Parameters:
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.

Parameters:
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
Returns:
1 if polygon created, 0 if some error occurred

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.

Parameters:
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
Returns:
1 if expansion occurred, 0 if not

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.

Parameters:
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.

Parameters:
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

Parameters:
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.

Parameters:
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.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines


polygon_primitives_extraction
Author(s): Miguel Oliveira
autogenerated on Wed Jul 23 04:35:24 2014