21 #ifndef EMODNET_QMGC_TIN_CREATION_LINDSTROM_TURK_STRATEGY_H 22 #define EMODNET_QMGC_TIN_CREATION_LINDSTROM_TURK_STRATEGY_H 24 #include "tin_creator.h" 48 double weightVolume = 0.5,
49 double weightBoundary = 0.5,
50 double weightShape = 1e-10)
51 : m_stopEdgesCount(stopEdgesCount)
52 , m_weightVolume(weightVolume)
53 , m_weightBoundary(weightBoundary)
54 , m_stopEdgesCountPerZoom(1, stopEdgesCount)
55 , m_weightShape(weightShape) {}
65 double weightVolume = 0.5,
66 double weightBoundary = 0.5,
67 double weightShape = 1e-10)
68 : m_stopEdgesCountPerZoom(stopEdgesCountPerZoom), m_weightVolume(weightVolume), m_weightBoundary(weightBoundary),
69 m_weightShape(weightShape)
75 if (m_stopEdgesCountPerZoom.size() == 0) {
76 std::cerr <<
"[WARNING::TinCreationSimplificationLindstromTurkStrategy] Input edges count per zoom vector is empty, using 500 (default value)" << std::endl;
77 m_stopEdgesCount = 500;
79 else if (zoom < m_stopEdgesCountPerZoom.size())
81 m_stopEdgesCount = m_stopEdgesCountPerZoom[zoom];
84 m_stopEdgesCount = m_stopEdgesCountPerZoom.back();
88 Polyhedron
create(
const std::vector<Point_3> &dataPts,
89 const bool &constrainEasternVertices,
90 const bool &constrainWesternVertices,
91 const bool &constrainNorthernVertices,
92 const bool &constrainSouthernVertices);
97 double m_weightVolume;
98 double m_weightBoundary;
100 std::vector<int> m_stopEdgesCountPerZoom;
105 #endif //EMODNET_QMGC_TIN_CREATION_LINDSTROM_TURK_STRATEGY_H 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.
Definition: tin_creation_simplification_lindstrom_turk_strategy.cpp:30
This namespace contains all the types/classes/functions required to create a TIN out of a regularly g...
Creates a TIN using an edge-collapse simplification method.
Definition: tin_creation_simplification_lindstrom_turk_strategy.h:38
TinCreationSimplificationLindstromTurkStrategy(std::vector< int > stopEdgesCountPerZoom, double weightVolume=0.5, double weightBoundary=0.5, double weightShape=1e-10)
Definition: tin_creation_simplification_lindstrom_turk_strategy.h:64
TinCreationSimplificationLindstromTurkStrategy(int stopEdgesCount, double weightVolume=0.5, double weightBoundary=0.5, double weightShape=1e-10)
Definition: tin_creation_simplification_lindstrom_turk_strategy.h:47
void setParamsForZoom(const unsigned int &zoom)
Adapts the parameters of the algorithm for the desired zoom level.
Definition: tin_creation_simplification_lindstrom_turk_strategy.h:74
Defines the interphase of a TIN creation algorithm.
Definition: tin_creator.h:37