23 #if GEOM_PSEUDO3D==GEOM_TRUE
28 namespace GEOM_FADE25D {
46 class CloudPrepareImpl;
102 void add(
double x,
double y,
double z,
int customIndex=-1);
107 void add(
const std::vector<Point2>& vPoints);
114 void add(
size_t numPoints,
double * aCoordinates);
197 void getBounds(
double& minX,
double& minY,
double& minZ,
double& maxX,
double& maxY,
double& maxZ);
234 CloudPrepareImpl* pImpl;
243 #elif GEOM_PSEUDO3D==GEOM_FALSE
246 #error GEOM_PSEUDO3D is not defined
ConvexHullStrategy
ConvexHullStrategy for CloudPrepare.
Definition: CloudPrepare.h:41
@ CHS_NOHULL
No special treatment for convex hull points.
Definition: CloudPrepare.h:42
@ CHS_MAXHULL
Use all points from the convex hull.
Definition: CloudPrepare.h:43
@ CHS_MINHULL
Use only convex points of the convex hull (no collinear ones)
Definition: CloudPrepare.h:44
SumStrategy
SumStrategy for CloudPrepare.
Definition: CloudPrepare.h:32
@ SMS_MAXIMUM
Assign the maximum height.
Definition: CloudPrepare.h:34
@ SMS_AVERAGE
Assign the average height.
Definition: CloudPrepare.h:36
@ SMS_MINIMUM
Assign the minimum height.
Definition: CloudPrepare.h:33
@ SMS_MEDIAN
Assign the median height.
Definition: CloudPrepare.h:35
CloudPrepare simplifies overdense point clouds and helps to avoid memory-usage-peaks during data tran...
Definition: CloudPrepare.h:87
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 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 to a specific target size.
void clear()
Clear all stored data.
bool computeConvexHull(bool bAllPoints, std::vector< Point2 > &vConvexHull)
Compute the 2.5D Convex Hull.
size_t getNumPoints() const
Get the number of points.
void getPoints(std::vector< Point2 > &vPointsOut) const
Get the simplified point cloud.
void getBounds(double &minX, double &minY, double &minZ, double &maxX, double &maxY, double &maxZ)
Get the min/max bounds.
size_t adaptiveSimplify(double maxDiffZ, SumStrategy sms, ConvexHullStrategy chs, bool bDryRun=false)
Simplify the Point Cloud according to a tolerance z-value.