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

Defines the interphase of a TIN creation algorithm. More...

#include <tin_creator.h>

Inheritance diagram for TinCreation::TinCreationStrategy:
TinCreation::TinCreationDelaunayStrategy TinCreation::TinCreationGreedyInsertionStrategy TinCreation::TinCreationRemeshingStrategy TinCreation::TinCreationSimplificationLindstromTurkStrategy TinCreation::TinCreationSimplificationPointSet TinCreation::TinCreationSimplificationPointSetGrid TinCreation::TinCreationSimplificationPointSetHierarchy TinCreation::TinCreationSimplificationPointSetRandom TinCreation::TinCreationSimplificationPointSetWLOP

Public Member Functions

 TinCreationStrategy ()
 Constructor.
 
virtual Polyhedron create (const std::vector< Point_3 > &dataPts, const bool &constrainEasternVertices, const bool &constrainWesternVertices, const bool &constrainNorthernVertices, const bool &constrainSouthernVertices)=0
 Create a TIN from a set of points. More...
 
virtual void setParamsForZoom (const unsigned int &zoom)=0
 Adapts the parameters of the algorithm for the desired zoom level. More...
 
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

Defines the interphase of a TIN creation algorithm.

(Interphase class of a Strategy Pattern)

Member Function Documentation

◆ create()

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

Implemented in TinCreation::TinCreationGreedyInsertionStrategy, TinCreation::TinCreationSimplificationPointSet, TinCreation::TinCreationSimplificationLindstromTurkStrategy, TinCreation::TinCreationRemeshingStrategy, and TinCreation::TinCreationDelaunayStrategy.

◆ setBounds()

void TinCreation::TinCreationStrategy::setBounds ( const double &  minX,
const double &  minY,
const double &  minZ,
const double &  maxX,
const double &  maxY,
const double &  maxZ 
)
inline

Set the geographic bounds for the current tile (used by some of the methods to scale the parameters w.r.t. the tile units)

Parameters
minXMinimum X value
minYMinimum Y value
minZMinimum Z value
maxXMaximum X value
maxYMaximum Y value
maxZMaximum Z value

◆ setParamsForZoom()

virtual void TinCreation::TinCreationStrategy::setParamsForZoom ( const unsigned int &  zoom)
pure virtual

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

Implemented in TinCreation::TinCreationGreedyInsertionStrategy, TinCreation::TinCreationSimplificationPointSet, TinCreation::TinCreationRemeshingStrategy, TinCreation::TinCreationSimplificationLindstromTurkStrategy, and TinCreation::TinCreationDelaunayStrategy.

◆ setScaleZ()

void TinCreation::TinCreationStrategy::setScaleZ ( const double &  scale)
inline

Set the scale in Z (used by some of the methods to scale the parameters w.r.t. the tile units)

Parameters
scaleScale in Z

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