Marble

GeoDataLinearRing.h
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2008 Torsten Rahn <[email protected]>
9 //
10 
11 
12 #ifndef MARBLE_GEODATALINEARRING_H
13 #define MARBLE_GEODATALINEARRING_H
14 
15 
16 #include "geodata_export.h"
17 #include "GeoDataLineString.h"
18 
19 
20 namespace Marble
21 {
22 
23 class GeoDataLinearRingPrivate;
24 
67 class GEODATA_EXPORT GeoDataLinearRing : public GeoDataLineString
68 {
69 
70  public:
74  explicit GeoDataLinearRing( TessellationFlags f = NoTessellation);
75 
76 
80  explicit GeoDataLinearRing(const GeoDataGeometry &other);
81 
82 
86  ~GeoDataLinearRing() override;
87 
88  const char *nodeType() const override;
89 
90  EnumGeometryId geometryId() const override;
91 
92  GeoDataGeometry *copy() const override;
93 
94 
99  bool operator==( const GeoDataLinearRing &other ) const;
100  bool operator!=( const GeoDataLinearRing &other ) const;
101 
102 
108  bool isClosed() const override;
109 
110 
123  qreal length( qreal planetRadius, int offset = 0 ) const override;
124 
130  virtual bool contains( const GeoDataCoordinates &coordinates ) const;
131 
136  virtual bool isClockwise() const;
137 };
138 
139 }
140 
141 #endif
A 3d point representation.
A LinearRing that allows to store a closed, contiguous set of line segments.
Binds a QML item to a specific geodetic location in screen coordinates.
A base class for all geodata features.
A LineString that allows to store a contiguous set of line segments.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat Jul 11 2020 23:19:32 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.