11#include <pcl/common/transforms.h>
12#include <pcl/common/centroid.h>
13#include <pcl/segmentation/sac_segmentation.h>
14#include <pcl/filters/extract_indices.h>
15#include <pcl/common/common.h>
16#include <pcl/kdtree/kdtree_flann.h>
17#include <pcl/features/normal_3d.h>
94template<
typename Po
intT>
110 typename pcl::PointCloud<PointT>::Ptr
points;
119 :
points(new pcl::PointCloud<PointT>),
128 slope = std::numeric_limits<double>::quiet_NaN();
150 x = std::numeric_limits<int>::min();
151 y = std::numeric_limits<int>::min();
152 z = std::numeric_limits<int>::min();
159 size_t xx = ind.
x, yy = ind.
y, zz = ind.
z;
161 return (xx) ^ (yy << 21) ^ ((zz << 42) | (zz >> 22));
166 return (
x == oth.
x) & (
y == oth.
y) & (
z == oth.
z);
TerrainType
Semantic classification label assigned to a grid cell.
PrimitiveType
Geometric primitive classification based on local PCA.
Represents one discretized 3D voxel in the spatial grid.
pcl::PointIndices::Ptr inliers
pcl::PointCloud< PointT >::Ptr points
Eigen::Vector3d eigenvalues
PrimitiveType primitive_type
Eigen::Matrix3d eigenvectors
Configuration parameters controlling segmentation behavior.
uint16_t processing_phase
double slopeThresholdDegrees
double maxGroundHeightDeviation
double groundInlierThreshold
double centroidSearchRadius
size_t operator()(Index3D const &ind) const
Integer 3D grid index used as key in hash map.
bool operator==(const Index3D &oth) const
Index3D(int x, int y, int z)
Index3D operator+(Index3D const &obj) const
Simple 3D point representation (double precision).