1 #ifndef OSMSCOUT_UTIL_TRANSFORMATION_H 2 #define OSMSCOUT_UTIL_TRANSFORMATION_H 69 void Reserve(
size_t size);
72 TransBuffer() =
default;
138 if (!nodes.empty()) {
139 Reserve(nodes.size());
145 for (
size_t i=start; i<=end; i++) {
146 batchTransformer.
GeoToPixel(nodes[i].GetLon(),
165 double& xmax,
double& ymax)
const;
201 TransPolygon::OptimizeMethod optimize,
202 double optimizeErrorTolerance,
203 TransPolygon::OutputConstraint constraint);
209 TransPolygon::OptimizeMethod optimize,
210 double optimizeErrorTolerance,
211 TransPolygon::OutputConstraint constraint);
231 TransPolygon::OptimizeMethod optimize,
232 double optimizeErrorTolerance,
233 TransPolygon::OutputConstraint constraint=TransPolygon::noConstraint)
237 if (nodes.size()<2) {
241 buffer.TransformGeoToPixel(projection,
244 if (optimize!=TransPolygon::none) {
247 optimizeErrorTolerance,
270 TransPolygon::OptimizeMethod optimize,
271 double optimizeErrorTolerance,
272 TransPolygon::OutputConstraint constraint=TransPolygon::noConstraint)
280 buffer.TransformGeoToPixel(projection,
283 if (optimize!=TransPolygon::none) {
286 optimizeErrorTolerance,
309 const Projection& projection,
310 TransPolygon::OptimizeMethod optimize,
311 double optimizeErrorTolerance,
312 TransPolygon::OutputConstraint constraint=TransPolygon::noConstraint);
322 size_t start=std::numeric_limits<size_t>::max();
323 size_t end=std::numeric_limits<size_t>::max();
326 CoordBufferRange() =
default;
327 CoordBufferRange(
const CoordBufferRange& other) =
default;
373 CoordBuffer(
const CoordBuffer& other) =
delete;
386 size_t PushCoord(
double x,
double y);
399 CoordBufferRange GenerateParallelWay(
const CoordBufferRange& org,
404 CoordBuffer& coordBuffer);
427 TransBuffer& transBuffer,
428 CoordBuffer& coordBuffer,
430 TransPolygon::OptimizeMethod optimize,
431 double optimizeErrorTolerance)
437 optimizeErrorTolerance);
439 assert(!transBuffer.IsEmpty());
466 TransBuffer& transBuffer,
467 CoordBuffer& coordBuffer,
469 TransPolygon::OptimizeMethod optimize,
470 double optimizeErrorTolerance)
476 optimizeErrorTolerance);
478 assert(!transBuffer.IsEmpty());
505 CoordBuffer& coordBuffer,
506 const Projection& projection,
507 TransPolygon::OptimizeMethod optimize,
508 double optimizeErrorTolerance);
size_t GetLength() const
Definition: Transformation.h:88
OSMSCOUT_API void OptimizeArea(TransBuffer &buffer, TransPolygon::OptimizeMethod optimize, double optimizeErrorTolerance, TransPolygon::OutputConstraint constraint)
Definition: Transformation.h:45
OSMSCOUT_API CoordBufferRange CopyPolygonToCoordBuffer(const TransBuffer &transBuffer, CoordBuffer &coordBuffer)
size_t GetEnd() const
Definition: Transformation.h:106
Vertex2D * buffer
Definition: Transformation.h:369
void GetBoundingBox(const std::vector< N > &nodes, double &minLon, double &maxLon, double &minLat, double &maxLat)
Definition: Geometry.h:107
void TransformArea(const C &nodes, TransBuffer &buffer, const Projection &projection, TransPolygon::OptimizeMethod optimize, double optimizeErrorTolerance, TransPolygon::OutputConstraint constraint=TransPolygon::noConstraint)
Definition: Transformation.h:228
OSMSCOUT_API void OptimizeWay(TransBuffer &buffer, TransPolygon::OptimizeMethod optimize, double optimizeErrorTolerance, TransPolygon::OutputConstraint constraint)
Definition: Projection.h:43
void TransformWay(const C &nodes, TransBuffer &buffer, const Projection &projection, TransPolygon::OptimizeMethod optimize, double optimizeErrorTolerance, TransPolygon::OutputConstraint constraint=TransPolygon::noConstraint)
Definition: Transformation.h:267
double x
Definition: Transformation.h:48
bool draw
Definition: Transformation.h:47
#define CLASS_FINAL
Definition: Compiler.h:26
#define OSMSCOUT_API
Definition: CoreImportExport.h:45
OSMSCOUT_API void TransformBoundingBox(const GeoBox &boundingBox, TransBuffer &buffer, const Projection &projection, TransPolygon::OptimizeMethod optimize, double optimizeErrorTolerance, TransPolygon::OutputConstraint constraint=TransPolygon::noConstraint)
CoordBufferRange(size_t start, size_t end)
Definition: Transformation.h:329
bool IsEmpty() const
Definition: Transformation.h:79
double y
Definition: Transformation.h:49
void TransformGeoToPixel(const Projection &projection, const C &nodes)
Definition: Transformation.h:133
size_t GetStart() const
Definition: Transformation.h:97
OptimizeMethod
Definition: Transformation.h:183
OutputConstraint
Definition: Transformation.h:190