EMODnet Quantized Mesh Generator for Cesium
Public Member Functions | List of all members
TinCreation::TinCreationSimplificationPointSetRandom Class Reference

Creates a TIN using a random simplification. More...

#include <tin_creation_simplification_point_set_random.h>

Inheritance diagram for TinCreation::TinCreationSimplificationPointSetRandom:
TinCreation::TinCreationSimplificationPointSet TinCreation::TinCreationStrategy

Public Member Functions

 TinCreationSimplificationPointSetRandom (double borderSimplificationMaxDistance, double borderSimplificationMaxLength, unsigned int minFeaturePolylineSize, double removePercentage)
 
 TinCreationSimplificationPointSetRandom (std::vector< double > borderSimplificationMaxDistancePerZoom, std::vector< double > borderSimplificationMaxLengthPerZoom, unsigned int minFeaturePolylineSize, std::vector< double > removePercentagePerZoom)
 
std::vector< Point_3 > simplify (const std::vector< Point_3 > &pts)
 
void setParamsForZoomConcreteStrategy (const unsigned int &zoom)
 
- Public Member Functions inherited from TinCreation::TinCreationSimplificationPointSet
 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...
 
- Public Member Functions inherited from TinCreation::TinCreationStrategy
 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.
 

Detailed Description

Creates a TIN using a random simplification.

It basically selects randomly a given subset of the original points.

Constructor & Destructor Documentation

◆ TinCreationSimplificationPointSetRandom() [1/2]

TinCreation::TinCreationSimplificationPointSetRandom::TinCreationSimplificationPointSetRandom ( double  borderSimplificationMaxDistance,
double  borderSimplificationMaxLength,
unsigned int  minFeaturePolylineSize,
double  removePercentage 
)
inline

Constructor

Parameters
borderSimplificationMaxDistanceMaximum error for polyline simplification
borderSimplificationMaxLengthPercentMaximum length for an edge in the simplified polyline. This prevents oversimplification in planar tiles.
minFeaturePolylineSizeMinimum number of connected edges in a sharp feature polyline to consider it during processing
removePercentagePercentage of points to remove from the input set

◆ TinCreationSimplificationPointSetRandom() [2/2]

TinCreation::TinCreationSimplificationPointSetRandom::TinCreationSimplificationPointSetRandom ( std::vector< double >  borderSimplificationMaxDistancePerZoom,
std::vector< double >  borderSimplificationMaxLengthPerZoom,
unsigned int  minFeaturePolylineSize,
std::vector< double >  removePercentagePerZoom 
)
inline

Constructor

Parameters
borderSimplificationMaxDistanceMaximum error for polyline simplification per zoom
borderSimplificationMaxLengthPercentMaximum length for an edge in the simplified polyline per zoom. This prevents oversimplification in planar tiles.
minFeaturePolylineSizeMinimum number of connected edges in a sharp feature polyline to consider it during processing
removePercentagePercentage of points to remove from the input set per zoom

Member Function Documentation

◆ setParamsForZoomConcreteStrategy()

void TinCreation::TinCreationSimplificationPointSetRandom::setParamsForZoomConcreteStrategy ( const unsigned int &  zoom)
inlinevirtual

Same as setParamsForZoom, but triggered at each child class

Parameters
zoomCurrent zoom level

Implements TinCreation::TinCreationSimplificationPointSet.

◆ simplify()

std::vector< Point_3 > TinCreation::TinCreationSimplificationPointSetRandom::simplify ( const std::vector< Point_3 > &  pts)
virtual

Simplifies a point set

Parameters
ptsPoints to simplify
Returns
Simplified point set

Implements TinCreation::TinCreationSimplificationPointSet.


The documentation for this class was generated from the following files: