File indexing completed on 2025-01-05 03:58:59
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2009 Patrick Spendrin <ps_ml@gmx.de> 0004 // 0005 0006 #ifndef MARBLE_GEODATAPOLYGONPRIVATE_H 0007 #define MARBLE_GEODATAPOLYGONPRIVATE_H 0008 0009 #include "GeoDataGeometry_p.h" 0010 0011 #include "GeoDataLinearRing.h" 0012 0013 namespace Marble 0014 { 0015 0016 class GeoDataPolygonPrivate : public GeoDataGeometryPrivate 0017 { 0018 public: 0019 explicit GeoDataPolygonPrivate( TessellationFlags f ) 0020 : m_dirtyBox( true ), 0021 m_tessellationFlags(f), 0022 m_renderOrder(0) 0023 { 0024 } 0025 0026 GeoDataPolygonPrivate() 0027 : m_dirtyBox( true ) 0028 { 0029 } 0030 0031 GeoDataGeometryPrivate *copy() const override 0032 { 0033 GeoDataPolygonPrivate* copy = new GeoDataPolygonPrivate; 0034 *copy = *this; 0035 return copy; 0036 } 0037 0038 GeoDataLinearRing outer; 0039 QVector<GeoDataLinearRing> inner; 0040 bool m_dirtyBox; // tells whether there have been changes to the 0041 // GeoDataPoints since the LatLonAltBox has 0042 // been calculated. Saves performance. 0043 TessellationFlags m_tessellationFlags; 0044 int m_renderOrder; 0045 }; 0046 0047 } // namespace Marble 0048 0049 #endif