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

Creates a TIN using Delaunay refinement algorithm. More...

#include <tin_creation_remeshing_strategy.h>

Inheritance diagram for TinCreation::TinCreationRemeshingStrategy:
TinCreation::TinCreationStrategy

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...
 
- 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 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!

Member Function Documentation

◆ create()

Polyhedron TinCreation::TinCreationRemeshingStrategy::create ( const std::vector< Point_3 > &  dataPts,
const bool &  constrainEasternVertices,
const bool &  constrainWesternVertices,
const bool &  constrainNorthernVertices,
const bool &  constrainSouthernVertices 
)
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.

Parameters
dataPtsInput 3D point set
constrainEasternVerticesFlag indicating whether the vertices on the eastern border of the tile should be preserved or not
constrainWesternVerticesFlag indicating whether the vertices on the western border of the tile should be preserved or not
constrainNorthernVerticesFlag indicating whether the vertices on the northern border of the tile should be preserved or not
constrainSouthernVerticesFlag indicating whether the vertices on the southern border of the tile should be preserved or not
Returns

Implements TinCreation::TinCreationStrategy.

◆ setParamsForZoom()

void TinCreation::TinCreationRemeshingStrategy::setParamsForZoom ( const unsigned int &  zoom)
inlinevirtual

Adapts the parameters of the algorithm for the desired zoom level.

For further information, see the parameters' setting mechanism in the tutorial.

Parameters
zoomCurrent zoom level

Implements TinCreation::TinCreationStrategy.


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