#include <iostream>
#include <limits>
#include <cmath>
#include <cstdlib>
#include <map>
#include <boost/thread/thread.hpp>
#include <pcl/common/common_headers.h>
#include <pcl/features/normal_3d.h>
#include <pcl/io/pcd_io.h>
#include <pcl/console/parse.h>
#include <pcl/point_types.h>
#include <pcl/filters/statistical_outlier_removal.h>
#include <pcl/filters/passthrough.h>
#include <sensor_msgs/PointCloud2.h>
#include <sensor_msgs/point_cloud_conversion.h>
#include <ros/ros.h>
#include <pcl_ros/transforms.h>
#include <tf/tf.h>
#include <visualization_msgs/Marker.h>
#include <visualization_msgs/MarkerArray.h>
#include <eigen3/Eigen/src/Core/EigenBase.h>
#include <eigen3/Eigen/src/Geometry/Quaternion.h>
#include <octomap_ros/OctomapROS.h>
#include <octomap/octomap.h>
#include <octomap_ros/conversions.h>
#include <surfacelet/SurfacePatch.h>
#include <surfacelet/SubmodMap.h>
#include <surfacelet/PatchMap.h>
#include <boost/program_options.hpp>
#include <omp.h>
Go to the source code of this file.
Functions | |
void | cloudCallBack (const sensor_msgs::PointCloud2ConstPtr &msg) |
void | connectedComponents (const Eigen::MatrixXi &adjacency, std::vector< std::set< int > > &subgraphs) |
void | constructSolutionMarker (pcl::PointCloud< pcl::PointXYZ > surface_samples, const std::vector< std::vector< unsigned int > > &solutions, const std::string frame_id, std::vector< visualization_msgs::Marker > &marker_list) |
void | depthFirstSearch (const int node, Eigen::MatrixXi &adjacency, std::set< int > &graph) |
void | filterXYZ (pcl::PointCloud< pcl::PointXYZ > &cloud, pcl::PointCloud< pcl::PointXYZ > &cloud_filtered, double min_x, double max_x, double min_y, double max_y, double min_z, double max_z) |
void | graphSegmentation (const Eigen::MatrixXi adjacency, std::vector< std::set< int > > &subgraphs) |
int | main (int argc, char **argv) |
pcl::PointXYZ | VectorEigen2PointXYZ (Eigen::Vector3f v) |
Variables | |
pcl::PointCloud< pcl::PointXYZ > | cloud |
pcl::PointCloud< pcl::PointXYZ > | cloud_nans_removed |
pcl::PointCloud< pcl::PointXYZ > | cloud_not_used |
bool | cloud_received = false |
unsigned int | text_id = 0 |
void cloudCallBack | ( | const sensor_msgs::PointCloud2ConstPtr & | msg | ) |
Definition at line 164 of file submod_search.cpp.
void connectedComponents | ( | const Eigen::MatrixXi & | adjacency, |
std::vector< std::set< int > > & | subgraphs | ||
) |
Definition at line 129 of file submod_search.cpp.
void constructSolutionMarker | ( | pcl::PointCloud< pcl::PointXYZ > | surface_samples, |
const std::vector< std::vector< unsigned int > > & | solutions, | ||
const std::string | frame_id, | ||
std::vector< visualization_msgs::Marker > & | marker_list | ||
) |
Definition at line 193 of file submod_search.cpp.
void depthFirstSearch | ( | const int | node, |
Eigen::MatrixXi & | adjacency, | ||
std::set< int > & | graph | ||
) |
Definition at line 118 of file submod_search.cpp.
void filterXYZ | ( | pcl::PointCloud< pcl::PointXYZ > & | cloud, |
pcl::PointCloud< pcl::PointXYZ > & | cloud_filtered, | ||
double | min_x, | ||
double | max_x, | ||
double | min_y, | ||
double | max_y, | ||
double | min_z, | ||
double | max_z | ||
) |
Definition at line 48 of file submod_search.cpp.
void graphSegmentation | ( | const Eigen::MatrixXi | adjacency, |
std::vector< std::set< int > > & | subgraphs | ||
) |
Definition at line 81 of file submod_search.cpp.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 252 of file submod_search.cpp.
pcl::PointXYZ VectorEigen2PointXYZ | ( | Eigen::Vector3f | v | ) | [inline] |
Definition at line 73 of file submod_search.cpp.
pcl::PointCloud<pcl::PointXYZ> cloud |
Definition at line 43 of file submod_search.cpp.
pcl::PointCloud<pcl::PointXYZ> cloud_nans_removed |
Definition at line 44 of file submod_search.cpp.
pcl::PointCloud<pcl::PointXYZ> cloud_not_used |
Definition at line 45 of file submod_search.cpp.
bool cloud_received = false |
Definition at line 46 of file submod_search.cpp.
unsigned int text_id = 0 |
Definition at line 42 of file submod_search.cpp.