Creates a TIN using the Weighted Locally Optimal Projection (WLOP) algorithm. More...
#include <tin_creation_simplification_point_set_wlop.h>
Public Member Functions | |
TinCreationSimplificationPointSetWLOP (double borderSimplificationMaxDistance, double borderSimplificationMaxLength, unsigned int minFeaturePolylineSize, double retainPercentage, double radius, unsigned int iterNumber=35) | |
TinCreationSimplificationPointSetWLOP (std::vector< double > borderSimplificationMaxDistancePerZoom, std::vector< double > borderSimplificationMaxLengthPerZoom, unsigned int minFeaturePolylineSize, std::vector< double > retainPercentagePerZoom, std::vector< double > radiusPerZoom, unsigned int iterNumber=35) | |
std::vector< Point_3 > | simplify (const std::vector< Point_3 > &pts) |
void | setParamsForZoomConcreteStrategy (const unsigned int &zoom) |
![]() | |
TinCreationSimplificationPointSet (double borderSimplificationMaxDistance, double borderSimplificationMaxLengthPercent, unsigned int minFeaturePolylineSize) | |
TinCreationSimplificationPointSet (const std::vector< double > &borderSimplificationMaxDistance, const std::vector< double > &borderSimplificationMaxLengthPercent, unsigned int minFeaturePolylineSize) | |
Polyhedron | create (const std::vector< Point_3 > &dataPts, const bool &constrainEasternVertices, const bool &constrainWesternVertices, const bool &constrainNorthernVertices, const bool &constrainSouthernVertices) |
Create a TIN from a set of points. More... | |
void | setParamsForZoom (const unsigned int &zoom) |
Adapts the parameters of the algorithm for the desired zoom level. More... | |
![]() | |
TinCreationStrategy () | |
Constructor. | |
void | setScaleZ (const double &scale) |
double | getScaleZ () |
Get the scale in Z. | |
void | setBounds (const double &minX, const double &minY, const double &minZ, const double &maxX, const double &maxY, const double &maxZ) |
double | getMinX () const |
Get the minimum X coordinate. | |
double | getMinY () const |
Get the minimum Y coordinate. | |
double | getMinZ () const |
Get the minimum Z coordinate. | |
double | getMaxX () const |
Get the maximum X coordinate. | |
double | getMaxY () const |
Get the maximum Y coordinate. | |
double | getMaxZ () const |
Get the maximum Z coordinate. | |
bool | hasOriginalBoundingBox () const |
std::vector< Point_3 > | convertUVHToECEF (const std::vector< Point_3 > &pts) const |
Convert points to ECEF assuming that they are on a UVH format, and given the limits of the tile. | |
std::vector< Point_3 > | convertECEFToUVH (const std::vector< Point_3 > &pts) const |
Convert points from local UVH to ECEF given the limits of the tile. | |
Point_3 | convertUVHToECEF (const Point_3 &p) const |
Convert points to ECEF assuming that they are on a UVH format, and given the limits of the tile. | |
Point_3 | convertECEFToUVH (const Point_3 &p) const |
Convert points from local UVH to ECEF given the limits of the tile. | |
Creates a TIN using the Weighted Locally Optimal Projection (WLOP) algorithm.
We use the implementation of WLOP on the CGAL libraries, which are based on the following paper:
H. Huang, D. Li, H. Zhang, U. Ascher, and D. Cohen-Or. Consolidation of unorganized point clouds for surface reconstruction. ACM Transactions on Graphics, 28:176:1–176:78, 2009.
|
inline |
Constructor
borderSimplificationMaxDistance | Maximum error for polyline simplification |
borderSimplificationMaxLengthPercent | Maximum length for an edge in the simplified polyline. This prevents oversimplification in planar tiles. |
minFeaturePolylineSize | Minimum number of connected edges in a sharp feature polyline to consider it during processing |
retainPercentage | Percentage of points to retain |
radius | Spherical neighborhood radius |
iterNumber | Number of iterations to solve the optimization problem |
|
inline |
Constructor
borderSimplificationMaxDistance | Maximum error for polyline simplification per zoom |
borderSimplificationMaxLengthPercent | Maximum length for an edge in the simplified polyline per zoom. This prevents oversimplification in planar tiles. |
minFeaturePolylineSize | Minimum number of connected edges in a sharp feature polyline to consider it during processing |
retainPercentage | Percentage of points to retain per zoom |
radius | Spherical neighborhood radius per zoom |
iterNumber | Number of iterations to solve the optimization problem per zoom |
|
inlinevirtual |
Same as setParamsForZoom, but triggered at each child class
zoom | Current zoom level |
Implements TinCreation::TinCreationSimplificationPointSet.
|
virtual |
Simplifies a point set
pts | Points to simplify |
Implements TinCreation::TinCreationSimplificationPointSet.