void ComputePcBoundaries(const pcl::PointCloud<pcl::PointXYZ>& pc, Eigen::Vector3f& min, Eigen::Vector3f& max) { const Eigen::Map<const Eigen::MatrixXf,1,Eigen::OuterStride<> > x = pc.getMatrixXfMap(1, 4, 0); // this works for PointXYZRGBNormal const Eigen::Map<const Eigen::MatrixXf,1,Eigen::OuterStride<> > y = pc.getMatrixXfMap(1, 4, 1); // this works for PointXYZRGBNormal const Eigen::Map<const Eigen::MatrixXf,1,Eigen::OuterStride<> > z = pc.getMatrixXfMap(1, 4, 2); // this works for PointXYZRGBNormal min << x.minCoeff(), y.minCoeff(), z.minCoeff(); max << x.maxCoeff(), y.maxCoeff(), z.maxCoeff(); }