![]() |
EMODnet Quantized Mesh Generator for Cesium
|
Creates a TIN using Delaunay refinement algorithm. More...
#include <tin_creation_remeshing_strategy.h>
Public Member Functions | |
TinCreationRemeshingStrategy (double facetDistance, double facetAngle, double facetSize, double edgeSize) | |
TinCreationRemeshingStrategy (const std::vector< double > &facetDistance, double facetAngle, const std::vector< double > &facetSize, const std::vector< double > &edgeSize) | |
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 Delaunay refinement algorithm.
In fact, the method used in this class is not a simplification but a remeshing process.
Starting from a high resolution mesh, we obtain a new mesh following a set of requirements on the final mesh:
When the simplification takes place, all the coordinates of the vertices are normalized between 0..1 Note that this also means that, if the parameters are not set wisely, using this process we can get a mesh of even larger complexity with respect to the original one!
|
virtual |
Create a TIN from a set of points.
While it does not impose any regularity on the input points, the use of constrain<X>Vertices is restricted to the shape of the convex hull of the input point being an axis-aligned rectangle.
dataPts | Input 3D point set |
constrainEasternVertices | Flag indicating whether the vertices on the eastern border of the tile should be preserved or not |
constrainWesternVertices | Flag indicating whether the vertices on the western border of the tile should be preserved or not |
constrainNorthernVertices | Flag indicating whether the vertices on the northern border of the tile should be preserved or not |
constrainSouthernVertices | Flag indicating whether the vertices on the southern border of the tile should be preserved or not |
Implements TinCreation::TinCreationStrategy.
|
inlinevirtual |
Adapts the parameters of the algorithm for the desired zoom level.
For further information, see the parameters' setting mechanism in the tutorial.
zoom | Current zoom level |
Implements TinCreation::TinCreationStrategy.