libosmscout 1.1.1
Loading...
Searching...
No Matches
MapPainter.h
Go to the documentation of this file.
1#ifndef OSMSCOUT_MAP_MAPPAINTER_H
2#define OSMSCOUT_MAP_MAPPAINTER_H
3
4/*
5 This source is part of the libosmscout-map library
6 Copyright (C) 2009 Tim Teulings
7
8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Lesser General Public
10 License as published by the Free Software Foundation; either
11 version 2.1 of the License, or (at your option) any later version.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21*/
22
23#include <list>
24#include <string>
25#include <optional>
26
28
29#include <osmscout/ObjectRef.h>
30
39
40#include <osmscout/Node.h>
41#include <osmscout/Area.h>
42#include <osmscout/Way.h>
43
45
46#include <osmscout/GroundTile.h>
47
48#include <osmscoutmap/MapData.h>
49
51
55
57
60
61namespace osmscout {
62
94
103 {
104 private:
105 using StepMethod = void (MapPainter::*)(const Projection &, const MapParameter &, const MapData &);
106
107 public:
112 {
113 public:
114 const FeatureValueBuffer *buffer;
115 int8_t layer;
117 Color color;
118 size_t wayPriority;
119 CoordBufferRange coordRange;
120 double lineWidth;
125
139 bool operator<(const WayData& other) const
140 {
141 if (layer!=other.layer)
142 {
143 return layer<other.layer;
144 }
145
146 if (lineStyle->GetZIndex()!=other.lineStyle->GetZIndex()) {
147 return lineStyle->GetZIndex()<other.lineStyle->GetZIndex();
148 }
149
150 if (lineStyle->GetPriority()!=other.lineStyle->GetPriority()) {
151 return lineStyle->GetPriority()<other.lineStyle->GetPriority();
152 }
153
154 return wayPriority>other.wayPriority;
155 }
156 };
157
163 {
165 const FeatureValueBuffer *buffer;
166 CoordBufferRange coordRange;
168 };
169
174 {
175 ObjectFileRef ref;
177 const FeatureValueBuffer *buffer;
181 GeoBox boundingBox;
182 std::optional<GeoCoord> center;
183 bool isOuter;
184 CoordBufferRange coordRange;
185 std::list<CoordBufferRange> clippings;
186 };
187
188 using WayPathDataIt=std::list<WayPathData>::iterator;
189
194 {
196 std::map<PathTextStyleRef,std::set<std::string>> labels;
197 };
198
200 {
202 double symbolSpace;
203 CoordBufferRange coordRange;
204 double symbolScale;
205 };
206
207 protected:
212 TransBuffer transBuffer;
214 CoordBuffer coordBuffer;
216
218
225 FeatureValueBuffer coastlineSegmentAttributes;
227
228 private:
229 std::vector<StepMethod> stepMethods;
230 double errorTolerancePixel;
231
232 std::list<AreaData> areaData;
233 std::list<WayData> wayData;
234 std::list<WayPathData> wayPathData;
235 std::list<RouteLabelData> routeLabelData;
236
237 std::vector<TextStyleRef> textStyles;
238 std::vector<LineStyleRef> lineStyles;
239 std::vector<PathSymbolStyleRef> symbolStyles;
240
245 double standardFontSize;
246 double areaMinDimension;
248
249 protected:
251
266
271 std::vector<double> emptyDash;
272 std::vector<double> tunnelDash;
273 FillStyle areaMarkStyle;
279
280 private:
285 void PrepareNode(const StyleConfig& styleConfig,
286 const Projection& projection,
287 const MapParameter& parameter,
288 const NodeRef& node);
289
290 void PrepareNodes(const StyleConfig& styleConfig,
291 const Projection& projection,
292 const MapParameter& parameter,
293 const MapData& data);
294
295 void TransformPathData(const Projection& projection,
296 const MapParameter& parameter,
297 const Way& way,
298 WayPathData &pathData);
299
300 double CalculateLineWith(const Projection& projection,
301 const FeatureValueBuffer& buffer,
302 const LineStyle& lineStyle) const;
303
304 double CalculateLineOffset(const Projection& projection,
305 const LineStyle& lineStyle,
306 double lineWidth) const;
307
308 Color CalculateLineColor(const FeatureValueBuffer& buffer,
309 const LineStyle& lineStyle) const;
310
311 int8_t CalculateLineLayer(const FeatureValueBuffer& buffer) const;
312
313 void CalculateWayPaths(const StyleConfig& styleConfig,
314 const Projection& projection,
315 const MapParameter& parameter,
316 const Way& way);
317
318 bool PrepareAreaRing(const StyleConfig& styleConfig,
319 const Projection& projection,
320 const MapParameter& parameter,
321 const std::vector<CoordBufferRange>& coordRanges,
322 const Area& area,
323 const Area::Ring& ring,
324 size_t i,
325 const TypeInfoRef& type);
326
327 void PrepareArea(const StyleConfig& styleConfig,
328 const Projection& projection,
329 const MapParameter& parameter,
330 const AreaRef &area);
331
332 void PrepareAreaLabel(const StyleConfig& styleConfig,
333 const Projection& projection,
334 const MapParameter& parameter,
335 const AreaData& areaData);
336
337 void RegisterPointWayLabel(const Projection& projection,
338 const MapParameter& parameter,
339 const PathShieldStyleRef& style,
340 const std::string_view& text,
341 const std::vector<Point>& nodes);
342
343 void LayoutPointLabels(const Projection& projection,
344 const MapParameter& parameter,
345 const ObjectFileRef& ref,
346 const FeatureValueBuffer& buffer,
347 const IconStyleRef& iconStyle,
348 const std::vector<TextStyleRef>& textStyles,
349 const Vertex2D& screenPos,
350 const ScreenBox& objectBox);
351
352 bool DrawWayDecoration(const StyleConfig& styleConfig,
353 const Projection& projection,
354 const MapParameter& parameter,
355 const WayPathData& data);
356
357 bool CalculateWayShieldLabels(const StyleConfig& styleConfig,
358 const Projection& projection,
359 const MapParameter& parameter,
360 const Way& way);
361
362 bool DrawWayContourLabel(const StyleConfig& styleConfig,
363 const Projection& projection,
364 const MapParameter& parameter,
365 const WayPathData& data);
366
367 bool DrawWayContourLabel(const Projection& projection,
368 const MapParameter& parameter,
369 const WayPathData& data,
370 const PathTextStyleRef &pathTextStyle,
371 const std::string_view &textLabel);
372
373 bool DrawAreaBorderLabel(const StyleConfig& styleConfig,
374 const Projection& projection,
375 const MapParameter& parameter,
376 const AreaData& areaData);
377
378 bool DrawAreaBorderSymbol(const StyleConfig& styleConfig,
379 const Projection& projection,
380 const MapParameter& parameter,
381 const AreaData& areaData);
382
383 void DrawOSMTileGrid(const Projection& projection,
384 const MapParameter& parameter,
385 const Magnification& magnification,
386 const LineStyleRef& osmTileLine);
387
388 void DrawGroundTiles(const Projection& projection,
389 const MapParameter& parameter,
390 const std::list<GroundTile> &groundTiles);
391
393
398 void InitializeRender(const Projection& projection,
399 const MapParameter& parameter,
400 const MapData& data);
401
402 void DumpStatistics(const Projection& projection,
403 const MapParameter& parameter,
404 const MapData& data);
405
406 void CalculatePaths(const Projection& projection,
407 const MapParameter& parameter,
408 const MapData& data);
409
410 void CalculateWayShields(const Projection& projection,
411 const MapParameter& parameter,
412 const MapData& data);
413
414 void ProcessAreas(const Projection& projection,
415 const MapParameter& parameter,
416 const MapData& data);
417
418 void ProcessRoutes(const Projection& projection,
419 const MapParameter& parameter,
420 const MapData& data);
421
422 void AfterPreprocessing(const Projection& projection,
423 const MapParameter& parameter,
424 const MapData& data);
425
426 void Prerender(const Projection& projection,
427 const MapParameter& parameter,
428 const MapData& data);
429
430 void DrawBaseMapTiles(const Projection& projection,
431 const MapParameter& parameter,
432 const MapData& data);
433
434 void DrawGroundTiles(const Projection& projection,
435 const MapParameter& parameter,
436 const MapData& data);
437
438 void DrawOSMTileGrids(const Projection& projection,
439 const MapParameter& parameter,
440 const MapData& data);
441
442 void DrawAreas(const Projection& projection,
443 const MapParameter& parameter,
444 const MapData& data);
445
446 void DrawWays(const Projection& projection,
447 const MapParameter& parameter,
448 const MapData& data);
449
450 void DrawWayDecorations(const Projection& projection,
451 const MapParameter& parameter,
452 const MapData& data);
453
454 void DrawWayContourLabels(const Projection& projection,
455 const MapParameter& parameter,
456 const MapData& data);
457
458 void PrepareAreaLabels(const Projection& projection,
459 const MapParameter& parameter,
460 const MapData& data);
461
462 void DrawAreaBorderLabels(const Projection& projection,
463 const MapParameter& parameter,
464 const MapData& data);
465
466 void DrawAreaBorderSymbols(const Projection& projection,
467 const MapParameter& parameter,
468 const MapData& data);
469
470 void PrepareNodeLabels(const Projection& projection,
471 const MapParameter& parameter,
472 const MapData& data);
473
474 void PrepareRouteLabels(const Projection& projection,
475 const MapParameter& parameter,
476 const MapData& data);
477
478 void Postrender(const Projection& projection,
479 const MapParameter& parameter,
480 const MapData& data);
481 //@]
482
483 protected:
488 bool IsVisibleArea(const Projection& projection,
489 const GeoBox& boundingBox,
490 double pixelOffset) const;
491
492 bool IsVisibleWay(const Projection& projection,
493 const GeoBox& boundingBox,
494 double pixelOffset) const;
495
496 double GetProjectedWidth(const Projection& projection,
497 double minPixel,
498 double width) const;
499
500 double GetProjectedWidth(const Projection& projection,
501 double width) const
502 {
503 return width/projection.GetPixelSize();
504 }
505
506
507 const std::list<WayData>& GetWayData() const
508 {
509 return wayData;
510 }
511
512 const std::list<AreaData>& GetAreaData() const
513 {
514 return areaData;
515 }
516
522
528 const Projection& projection,
529 const MapParameter& parameter,
530 const MapData& data);
532 const Projection& projection,
533 const MapParameter& parameter,
534 const MapData& data);
536 const Projection& projection,
537 const MapParameter& parameter,
538 const MapData& data);
540
548 virtual bool HasIcon(const StyleConfig& styleConfig,
549 const Projection& projection,
550 const MapParameter& parameter,
551 IconStyle& style)= 0;
552
556 virtual double GetFontHeight(const Projection& projection,
557 const MapParameter& parameter,
558 double fontSize) = 0;
559
565 virtual void DrawGround(const Projection& projection,
566 const MapParameter& parameter,
567 const FillStyle& style) = 0;
568
573 virtual void RegisterRegularLabel(const Projection &projection,
574 const MapParameter &parameter,
575 const ObjectFileRef& ref,
576 const std::vector<LabelData> &labels,
577 const Vertex2D &position,
578 double objectWidth) = 0;
579
583 virtual void RegisterContourLabel(const Projection &projection,
584 const MapParameter &parameter,
585 const ObjectFileRef& ref,
586 const PathLabelData &label,
587 const LabelPath &labelPath) = 0;
588
589 virtual void DrawLabels(const Projection& projection,
590 const MapParameter& parameter,
591 const MapData& data) = 0;
592
593 virtual void DrawContourLines(const Projection& projection,
594 const MapParameter& parameter,
595 const MapData& data);
596
597 virtual void DrawHillShading(const Projection& projection,
598 const MapParameter& parameter,
599 const MapData& data);
600
604 virtual void DrawIcon(const IconStyle* style,
605 const Vertex2D& centerPos,
606 double width, double height) = 0;
607
611 virtual void DrawSymbol(const Projection& projection,
612 const MapParameter& parameter,
613 const Symbol& symbol,
614 const Vertex2D& screenPos,
615 double scaleFactor=1.0) = 0;
616
621 virtual void DrawPath(const Projection& projection,
622 const MapParameter& parameter,
623 const Color& color,
624 double width,
625 const std::vector<double>& dash,
626 LineStyle::CapStyle startCap,
627 LineStyle::CapStyle endCap,
628 const CoordBufferRange& coordRange) = 0;
629
633 virtual void DrawContourSymbol(const Projection& projection,
634 const MapParameter& parameter,
635 const Symbol& symbol,
636 const ContourSymbolData& data) = 0;
637
642 virtual void DrawArea(const Projection& projection,
643 const MapParameter& parameter,
644 const AreaData& area) = 0;
646
651 virtual double GetProposedLabelWidth(const MapParameter& parameter,
652 double averageCharWidth,
653 double objectWidth,
654 size_t stringLength);
655
656 virtual void DrawWay(const StyleConfig& styleConfig,
657 const Projection& projection,
658 const MapParameter& parameter,
659 const WayData& data);
660
662
663 std::vector<OffsetRel> ParseLaneTurns(const LanesFeatureValue& feature) const;
664
665 public:
667 virtual ~MapPainter();
668
669 bool Draw(const Projection& projection,
670 const MapParameter& parameter,
671 const MapData& data,
672 RenderSteps startStep,
673 RenderSteps endStep);
674
675 bool Draw(const Projection& projection,
676 const MapParameter& parameter,
677 const MapData& data);
678 };
679
685}
686
687#endif
#define OSMSCOUT_MAP_API
Definition MapImportExport.h:45
Definition LabelPath.h:44
Definition LanesFeature.h:33
Definition MapPainter.h:112
CoordBufferRange coordRange
Range of coordinates in transformation buffer.
Definition MapPainter.h:119
bool startIsClosed
Definition MapPainter.h:121
bool operator<(const WayData &other) const
Definition MapPainter.h:139
double lineWidth
Line width.
Definition MapPainter.h:120
LineStyleRef lineStyle
Line style.
Definition MapPainter.h:116
size_t wayPriority
Priority of way (from style sheet).
Definition MapPainter.h:118
const FeatureValueBuffer * buffer
Features of the line segment.
Definition MapPainter.h:114
Color color
Line color.
Definition MapPainter.h:117
bool endIsClosed
Definition MapPainter.h:123
int8_t layer
Layer this way is in.
Definition MapPainter.h:115
double shieldGridSizeHoriz
Width of a cell for shield label placement.
Definition MapPainter.h:276
FillStyleRef landFill
Definition MapPainter.h:223
virtual void DrawPath(const Projection &projection, const MapParameter &parameter, const Color &color, double width, const std::vector< double > &dash, LineStyle::CapStyle startCap, LineStyle::CapStyle endCap, const CoordBufferRange &coordRange)=0
const std::list< WayData > & GetWayData() const
Definition MapPainter.h:507
WidthFeatureValueReader widthReader
Value reader for the 'width' feature.
Definition MapPainter.h:260
virtual void DrawGround(const Projection &projection, const MapParameter &parameter, const FillStyle &style)=0
virtual void DrawIcon(const IconStyle *style, const Vertex2D &centerPos, double width, double height)=0
LayerFeatureValueReader layerReader
Value reader for the 'layer' feature.
Definition MapPainter.h:259
AddressFeatureValueReader addressReader
Value reader for the 'address' feature.
Definition MapPainter.h:261
virtual double GetFontHeight(const Projection &projection, const MapParameter &parameter, double fontSize)=0
virtual void DrawLabels(const Projection &projection, const MapParameter &parameter, const MapData &data)=0
MapPainter(const StyleConfigRef &styleConfig)
virtual void DrawArea(const Projection &projection, const MapParameter &parameter, const AreaData &area)=0
ColorFeatureValueReader colorReader
Value reader for the 'color' feature.
Definition MapPainter.h:264
std::vector< double > tunnelDash
Dash array for drawing tunnel border.
Definition MapPainter.h:272
NameFeatureValueReader nameReader
Value reader for the 'name' feature.
Definition MapPainter.h:256
virtual void DrawContourLines(const Projection &projection, const MapParameter &parameter, const MapData &data)
LanesFeatureValueReader lanesReader
Value reader for the 'lanes' feature.
Definition MapPainter.h:262
virtual void AfterPreprocessing(const StyleConfig &styleConfig, const Projection &projection, const MapParameter &parameter, const MapData &data)
virtual void DrawSymbol(const Projection &projection, const MapParameter &parameter, const Symbol &symbol, const Vertex2D &screenPos, double scaleFactor=1.0)=0
TextStyleRef debugLabel
Definition MapPainter.h:217
virtual void BeforeDrawing(const StyleConfig &styleConfig, const Projection &projection, const MapParameter &parameter, const MapData &data)
bool Draw(const Projection &projection, const MapParameter &parameter, const MapData &data)
const std::list< AreaData > & GetAreaData() const
Definition MapPainter.h:512
RefFeatureValueReader refReader
Value reader for the 'ref' feature.
Definition MapPainter.h:258
double GetProjectedWidth(const Projection &projection, double minPixel, double width) const
virtual void DrawWay(const StyleConfig &styleConfig, const Projection &projection, const MapParameter &parameter, const WayData &data)
virtual double GetProposedLabelWidth(const MapParameter &parameter, double averageCharWidth, double objectWidth, size_t stringLength)
bool IsVisibleWay(const Projection &projection, const GeoBox &boundingBox, double pixelOffset) const
double GetProjectedWidth(const Projection &projection, double width) const
Definition MapPainter.h:500
double shieldGridSizeVert
Height of a cell for shield label placement.
Definition MapPainter.h:277
FeatureValueBuffer coastlineSegmentAttributes
Definition MapPainter.h:225
std::vector< double > emptyDash
Empty dash array.
Definition MapPainter.h:271
virtual void DrawContourSymbol(const Projection &projection, const MapParameter &parameter, const Symbol &symbol, const ContourSymbolData &data)=0
bool Draw(const Projection &projection, const MapParameter &parameter, const MapData &data, RenderSteps startStep, RenderSteps endStep)
virtual bool HasIcon(const StyleConfig &styleConfig, const Projection &projection, const MapParameter &parameter, IconStyle &style)=0
double contourLabelOffset
Same value as in MapParameter but converted to pixel.
Definition MapPainter.h:274
FillStyleRef seaFill
Definition MapPainter.h:224
StyleConfigRef styleConfig
Reference to the style configuration to be used.
Definition MapPainter.h:250
TransBuffer transBuffer
Definition MapPainter.h:212
virtual void DrawHillShading(const Projection &projection, const MapParameter &parameter, const MapData &data)
NameAltFeatureValueReader nameAltReader
Value reader for the 'alternative name' feature.
Definition MapPainter.h:257
std::vector< OffsetRel > ParseLaneTurns(const LanesFeatureValue &feature) const
FillStyle areaMarkStyle
Marker fill style for internal debugging.
Definition MapPainter.h:273
AccessFeatureValueReader accessReader
Value reader for the 'lanes' feature.
Definition MapPainter.h:263
bool IsVisibleArea(const Projection &projection, const GeoBox &boundingBox, double pixelOffset) const
std::list< WayPathData >::iterator WayPathDataIt
Definition MapPainter.h:188
virtual void RegisterRegularLabel(const Projection &projection, const MapParameter &parameter, const ObjectFileRef &ref, const std::vector< LabelData > &labels, const Vertex2D &position, double objectWidth)=0
CoordBuffer coordBuffer
Coordinate buffer.
Definition MapPainter.h:214
virtual void AfterDrawing(const StyleConfig &styleConfig, const Projection &projection, const MapParameter &parameter, const MapData &data)
virtual void RegisterContourLabel(const Projection &projection, const MapParameter &parameter, const ObjectFileRef &ref, const PathLabelData &label, const LabelPath &labelPath)=0
double contourLabelSpace
Same value as in MapParameter but converted to pixel.
Definition MapPainter.h:275
Definition LabelLayouter.h:46
Definition Projection.h:46
double GetPixelSize() const
Definition Projection.h:263
Index selectors by type and level.
Definition StyleConfig.h:552
uint64_t FileOffset
Definition OSMScoutTypes.h:46
Definition Area.h:39
std::shared_ptr< TextStyle > TextStyleRef
Definition Styles.h:632
FeatureValueReader< NameFeature, NameFeatureValue > NameFeatureValueReader
Definition NameFeature.h:97
FeatureValueReader< WidthFeature, WidthFeatureValue > WidthFeatureValueReader
Definition WidthFeature.h:87
std::shared_ptr< PathTextStyle > PathTextStyleRef
Definition Styles.h:890
FeatureValueReader< ColorFeature, ColorFeatureValue > ColorFeatureValueReader
Definition ColorFeature.h:101
std::shared_ptr< StyleConfig > StyleConfigRef
Definition StyleConfig.h:859
std::shared_ptr< Area > AreaRef
Definition Area.h:360
FeatureValueReader< LayerFeature, LayerFeatureValue > LayerFeatureValueReader
Definition LayerFeature.h:87
FeatureValueReader< RefFeature, RefFeatureValue > RefFeatureValueReader
Definition RefFeature.h:98
std::shared_ptr< BorderStyle > BorderStyleRef
Definition Styles.h:464
std::shared_ptr< LineStyle > LineStyleRef
Definition Styles.h:281
FeatureValueReader< AddressFeature, AddressFeatureValue > AddressFeatureValueReader
Definition AddressFeature.h:108
FeatureValueReader< LanesFeature, LanesFeatureValue > LanesFeatureValueReader
Definition LanesFeature.h:167
RenderSteps
Definition MapPainter.h:64
@ Postrender
Implementation specific final step.
Definition MapPainter.h:91
@ ProcessAreas
Process (complex) areas for rendering.
Definition MapPainter.h:72
@ ProcessRoutes
Process routes for rendering.
Definition MapPainter.h:73
@ DrawWays
Definition MapPainter.h:80
@ PrepareRouteLabels
Definition MapPainter.h:87
@ DrawWayDecorations
Definition MapPainter.h:81
@ CalculatePaths
Calculate the paths to draw based on the given ways.
Definition MapPainter.h:70
@ DrawContourLines
Definition MapPainter.h:88
@ LastStep
Definition MapPainter.h:92
@ DumpStatistics
Definition MapPainter.h:68
@ CalculateWayShields
Calculate the label shields on the ways.
Definition MapPainter.h:71
@ FirstStep
Definition MapPainter.h:65
@ PrepareAreaLabels
Definition MapPainter.h:83
@ DrawAreaBorderSymbols
Definition MapPainter.h:85
@ AfterPreprocessing
Additional postprocessing.
Definition MapPainter.h:74
@ DrawLabels
Definition MapPainter.h:90
@ PrepareNodeLabels
Definition MapPainter.h:86
@ DrawWayContourLabels
Definition MapPainter.h:82
@ DrawOSMTileGrids
If special style exists, renders grid corresponding to OSM tiles.
Definition MapPainter.h:78
@ DrawHillShading
Definition MapPainter.h:89
@ DrawBaseMapTiles
Draw unknown/sea/land tiles and tiles with "coastlines" from base map.
Definition MapPainter.h:76
@ DrawAreas
Definition MapPainter.h:79
@ Prerender
Implementation specific preparation.
Definition MapPainter.h:75
@ DrawAreaBorderLabels
Definition MapPainter.h:84
@ DrawGroundTiles
Same as previous, but from main db.
Definition MapPainter.h:77
@ Initialize
Definition MapPainter.h:66
std::shared_ptr< FillStyle > FillStyleRef
Definition Styles.h:356
std::shared_ptr< IconStyle > IconStyleRef
Definition Styles.h:987
std::shared_ptr< TypeInfo > TypeInfoRef
Definition TypeConfig.h:61
FeatureValueReader< AccessFeature, AccessFeatureValue > AccessFeatureValueReader
Definition AccessFeature.h:276
FeatureValueReader< NameAltFeature, NameAltFeatureValue > NameAltFeatureValueReader
Definition NameAltFeature.h:97
std::shared_ptr< Node > NodeRef
Definition Node.h:125
std::shared_ptr< PathShieldStyle > PathShieldStyleRef
Definition Styles.h:805
Definition MapPainter.h:174
BorderStyleRef borderStyle
Border style.
Definition MapPainter.h:180
std::optional< GeoCoord > center
"visual" polygon center (pole of inaccessibility)
Definition MapPainter.h:182
CoordBufferRange coordRange
Range of coordinates in transformation buffer.
Definition MapPainter.h:184
const FeatureValueBuffer * buffer
Definition MapPainter.h:177
GeoBox boundingBox
Bounding box of the area.
Definition MapPainter.h:181
std::list< CoordBufferRange > clippings
Clipping polygons to be used during drawing of this area.
Definition MapPainter.h:185
bool isOuter
flag if this area is outer ring of some relation
Definition MapPainter.h:183
TypeInfoRef type
Definition MapPainter.h:176
ObjectFileRef ref
Definition MapPainter.h:175
FillStyleRef fillStyle
Fill style.
Definition MapPainter.h:179
Definition MapPainter.h:200
double symbolScale
Potential magnification of the symbol.
Definition MapPainter.h:204
double symbolSpace
Space between individual symbols on the contour.
Definition MapPainter.h:202
CoordBufferRange coordRange
Range of coordinates of the path in transformation buffer.
Definition MapPainter.h:203
double symbolOffset
Initial offset of the symbol.
Definition MapPainter.h:201
Definition MapPainter.h:194
WayPathDataIt wayData
Definition MapPainter.h:195
std::map< PathTextStyleRef, std::set< std::string > > labels
Definition MapPainter.h:196
Definition MapPainter.h:163
CoordBufferRange coordRange
Range of coordinates in transformation buffer.
Definition MapPainter.h:166
FileOffset ref
Definition MapPainter.h:164
const FeatureValueBuffer * buffer
Features of the line segment. Not owned pointer.
Definition MapPainter.h:165
double mainSlotWidth
Width of main slot, used for relative positioning.
Definition MapPainter.h:167