23 #if GEOM_PSEUDO3D==GEOM_TRUE
28 namespace GEOM_FADE25D {
53 class CloudPrepareImpl;
102 void add(
double x,
double y,
double z,
int customIndex=-1);
111 void add(
const std::vector<Point2>& vPoints);
125 void add(
size_t numPoints,
double * aCoordinates);
240 void getBounds(
double& minX,
double& minY,
double& minZ,
double& maxX,
double& maxY,
double& maxZ);
286 CloudPrepareImpl* pImpl;
295 #elif GEOM_PSEUDO3D==GEOM_FALSE
298 #error GEOM_PSEUDO3D is not defined
ConvexHullStrategy
Enumeration for strategies to treat convex hull points in CloudPrepare.
Definition: CloudPrepare.h:48
@ CHS_NOHULL
No special treatment for convex hull points.
Definition: CloudPrepare.h:49
@ CHS_MAXHULL
Keep all points from the convex hull.
Definition: CloudPrepare.h:50
@ CHS_MINHULL
Keep only non-collinear points of the convex hull.
Definition: CloudPrepare.h:51
SumStrategy
Enumeration for point aggregation strategies used in CloudPrepare.
Definition: CloudPrepare.h:36
@ SMS_MAXIMUM
Assign the maximum height.
Definition: CloudPrepare.h:38
@ SMS_AVERAGE
Assign the average height. Averaging reduces noise in the point cloud.
Definition: CloudPrepare.h:40
@ SMS_MINIMUM
Assign the minimum height. Corresponds to ground filtering by prioritizing the lower ground points ov...
Definition: CloudPrepare.h:37
@ SMS_MEDIAN
Assign the median height. Reduces outliers and stabilizes the cloud by taking the median height of si...
Definition: CloudPrepare.h:39
CloudPrepare simplifies dense point clouds and helps prevent memory usage peaks during data transfer.
Definition: CloudPrepare.h:84
double getRangeY()
Get the range of the y-coordinates.
void add(size_t numPoints, double *aCoordinates)
Add points to the CloudPrepare object (array-version)
size_t uniformSimplifyGrid(double gridLength, SumStrategy sms, ConvexHullStrategy chs, bool bDryRun=false)
Simplify the point cloud according to grid resolution.
void add(const std::vector< Point2 > &vPoints)
Add a set of points to the CloudPrepare object (vector version)
void add(double x, double y, double z, int customIndex=-1)
Add a point to the CloudPrepare object.
size_t uniformSimplifyNum(int approxNumPoints, SumStrategy sms, ConvexHullStrategy chs)
Simplify the point cloud using a grid resolution determined by the desired number of output points.
double getRangeZ()
Get the range of the z-coordinates.
void clear()
Clear all stored data.
bool computeConvexHull(bool bAllPoints, std::vector< Point2 > &vConvexHull)
Compute the Convex Hull.
size_t getNumPoints() const
Get the total number of points in the CloudPrepare object.
double getRangeX()
Get the range of the x-coordinates.
void getPoints(std::vector< Point2 > &vPointsOut) const
Retrieve the point cloud.
void getBounds(double &minX, double &minY, double &minZ, double &maxX, double &maxY, double &maxZ)
Get the minimum and maximum bounds of the point cloud.
size_t adaptiveSimplify(double maxDiffZ, SumStrategy sms, ConvexHullStrategy chs, bool bDryRun=false)
Simplifies the point cloud based on a tolerance threshold for the z-values.