![]() |
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... | |
![]() | |
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.