pcl::PointCloud<pcl::PointXYZ>::Ptr SampleModelGenerator::GenerateSampleCube(const Eigen::Isometry3f center, const float r, const float rRes) { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); for (int i = 0; i < 6; i++) { Eigen::Vector3f planeCenter = Eigen::Vector3f::Zero(); planeCenter(i%3) = (i < 3) ? r : -r; Eigen::Isometry3f pose = Eigen::Isometry3f::Identity(); pose.translate(planeCenter); (*cloud) += *GenerateSamplePlane(pose, r, rRes); } pcl::transformPointCloud(*cloud, *cloud, center); return cloud; }