![]() |
EMODnet Quantized Mesh Generator for Cesium
|
Creates a TIN using an edge-collapse simplification method. More...
#include <tin_creation_simplification_lindstrom_turk_strategy.h>
Public Member Functions | |
| TinCreationSimplificationLindstromTurkStrategy (int stopEdgesCount, double weightVolume=0.5, double weightBoundary=0.5, double weightShape=1e-10) | |
| TinCreationSimplificationLindstromTurkStrategy (std::vector< int > stopEdgesCountPerZoom, double weightVolume=0.5, double weightBoundary=0.5, double weightShape=1e-10) | |
| void | setParamsForZoom (const unsigned int &zoom) |
| Adapts the parameters of the algorithm for the desired zoom level. More... | |
| 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... | |
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. | |
Creates a TIN using an edge-collapse simplification method.
This class uses a modified version of the Lindstrom-Turk algorithm [1][2]
[1] P. Lindstrom and G. Turk. Fast and memory efficient polygonal simplification. In IEEE Visualization, pages 279–286, 1998.
[2] P. Lindstrom and G. Turk. Evaluation of memoryless simplification. IEEE Transactions on Visualization and Computer Graphics, 5(2):98–115, slash 1999.
|
inline |
Constructor
| stopEdgesCount | Desired number of edges for the simplified mesh |
| weightVolume | Volume weight (see original reference) |
| weightBoundary | Boundary weight (see original reference) |
| weightShape | Shape weight (see original reference) |
|
inline |
Constructor
| stopEdgesCount | Desired number of edges for the simplified mesh per zoom |
| weightVolume | Volume weight (see original reference) |
| weightBoundary | Boundary weight (see original reference) |
| weightShape | Shape weight (see original reference) |
|
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.
1.8.13