File tree Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -216,6 +216,21 @@ namespace diffCheck::geometry
216
216
this ->Normals .push_back (normal);
217
217
}
218
218
219
+ void DFPointCloud::Crop (const Eigen::Vector3d &minBound, const Eigen::Vector3d &maxBound)
220
+ {
221
+ auto O3DPointCloud = this ->Cvt2O3DPointCloud ();
222
+ auto O3DPointCloudCropped = O3DPointCloud->Crop (open3d::geometry::AxisAlignedBoundingBox (minBound, maxBound));
223
+ this ->Points .clear ();
224
+ for (auto &point : O3DPointCloudCropped->points_ )
225
+ this ->Points .push_back (point);
226
+ this ->Colors .clear ();
227
+ for (auto &color : O3DPointCloudCropped->colors_ )
228
+ this ->Colors .push_back (color);
229
+ this ->Normals .clear ();
230
+ for (auto &normal : O3DPointCloudCropped->normals_ )
231
+ this ->Normals .push_back (normal);
232
+ }
233
+
219
234
void DFPointCloud::UniformDownsample (int everyKPoints)
220
235
{
221
236
auto O3DPointCloud = this ->Cvt2O3DPointCloud ();
Original file line number Diff line number Diff line change @@ -89,6 +89,14 @@ namespace diffCheck::geometry
89
89
*/
90
90
void RemoveStatisticalOutliers (int nbNeighbors, double stdRatio);
91
91
92
+ /* *
93
+ * @brief Crop the point cloud to a bounding box defined by the min and max bounds
94
+ *
95
+ * @param minBound the minimum bound of the bounding box as an Eigen::Vector3d
96
+ * @param maxBound the maximum bound of the bounding box as an Eigen::Vector3d
97
+ */
98
+ void Crop (const Eigen::Vector3d &minBound, const Eigen::Vector3d &maxBound);
99
+
92
100
public: // /< Downsamplers
93
101
/* *
94
102
* @brief Downsample the point cloud with voxel grid
You can’t perform that action at this time.
0 commit comments