Commit 06658a44 authored by Dennis Nienhüser's avatar Dennis Nienhüser

Reduce memory consumption a bit

parent b4dd2682
...@@ -1285,15 +1285,15 @@ qreal GeoDataCoordinates::utmNorthing() const{ ...@@ -1285,15 +1285,15 @@ qreal GeoDataCoordinates::utmNorthing() const{
return GeoDataCoordinatesPrivate::lonLatToNorthing(d->m_lon, d->m_lat); return GeoDataCoordinatesPrivate::lonLatToNorthing(d->m_lon, d->m_lat);
} }
int GeoDataCoordinates::detail() const quint8 GeoDataCoordinates::detail() const
{ {
return d->m_detail; return d->m_detail;
} }
void GeoDataCoordinates::setDetail( const int det ) void GeoDataCoordinates::setDetail(quint8 detail)
{ {
detach(); detach();
d->m_detail = det; d->m_detail = detail;
} }
GeoDataCoordinates GeoDataCoordinates::rotateAround( const GeoDataCoordinates &axis, qreal angle, Unit unit ) const GeoDataCoordinates GeoDataCoordinates::rotateAround( const GeoDataCoordinates &axis, qreal angle, Unit unit ) const
......
...@@ -255,13 +255,13 @@ class GEODATA_EXPORT GeoDataCoordinates ...@@ -255,13 +255,13 @@ class GEODATA_EXPORT GeoDataCoordinates
* @brief return the detail flag * @brief return the detail flag
* detail range: 0 for most important points, 5 for least important * detail range: 0 for most important points, 5 for least important
*/ */
int detail() const; quint8 detail() const;
/** /**
* @brief set the detail flag * @brief set the detail flag
* @param det detail * @param det detail
*/ */
void setDetail( const int detail ); void setDetail(quint8 detail);
/** /**
* @brief Rotates one coordinate around another. * @brief Rotates one coordinate around another.
......
...@@ -206,7 +206,7 @@ class GeoDataCoordinatesPrivate ...@@ -206,7 +206,7 @@ class GeoDataCoordinatesPrivate
qreal m_lon; qreal m_lon;
qreal m_lat; qreal m_lat;
qreal m_altitude; // in meters above sea level qreal m_altitude; // in meters above sea level
int m_detail; quint8 m_detail;
QAtomicInt ref; QAtomicInt ref;
/* UTM Ellipsoid model constants (actual values here are for WGS84) */ /* UTM Ellipsoid model constants (actual values here are for WGS84) */
......
...@@ -132,7 +132,7 @@ GeoDataCoordinates GeoDataLineStringPrivate::findDateLine( const GeoDataCoordina ...@@ -132,7 +132,7 @@ GeoDataCoordinates GeoDataLineStringPrivate::findDateLine( const GeoDataCoordina
return findDateLine( previousCoords, interpolatedCoords, recursionCounter ); return findDateLine( previousCoords, interpolatedCoords, recursionCounter );
} }
int GeoDataLineStringPrivate::levelForResolution(qreal resolution) const { quint8 GeoDataLineStringPrivate::levelForResolution(qreal resolution) const {
if (m_previousResolution == resolution) return m_level; if (m_previousResolution == resolution) return m_level;
m_previousResolution = resolution; m_previousResolution = resolution;
...@@ -227,10 +227,10 @@ void GeoDataLineStringPrivate::optimize (GeoDataLineString& lineString) const ...@@ -227,10 +227,10 @@ void GeoDataLineStringPrivate::optimize (GeoDataLineString& lineString) const
if (lineString.size() < 2) return; if (lineString.size() < 2) return;
// Calculate the least non-zero detail-level by checking the bounding box // Calculate the least non-zero detail-level by checking the bounding box
int startLevel = levelForResolution( ( lineString.latLonAltBox().width() + lineString.latLonAltBox().height() ) / 2 ); quint8 startLevel = levelForResolution( ( lineString.latLonAltBox().width() + lineString.latLonAltBox().height() ) / 2 );
int currentLevel = startLevel; quint8 currentLevel = startLevel;
int maxLevel = startLevel; quint8 maxLevel = startLevel;
GeoDataCoordinates currentCoords; GeoDataCoordinates currentCoords;
lineString.first().setDetail(startLevel); lineString.first().setDetail(startLevel);
......
...@@ -87,7 +87,7 @@ class GeoDataLineStringPrivate : public GeoDataGeometryPrivate ...@@ -87,7 +87,7 @@ class GeoDataLineStringPrivate : public GeoDataGeometryPrivate
const GeoDataCoordinates & currentCoords, const GeoDataCoordinates & currentCoords,
int recursionCounter ) const; int recursionCounter ) const;
int levelForResolution(qreal resolution) const; quint8 levelForResolution(qreal resolution) const;
qreal resolutionForLevel(int level) const; qreal resolutionForLevel(int level) const;
void optimize(GeoDataLineString& lineString) const; void optimize(GeoDataLineString& lineString) const;
...@@ -101,7 +101,9 @@ class GeoDataLineStringPrivate : public GeoDataGeometryPrivate ...@@ -101,7 +101,9 @@ class GeoDataLineStringPrivate : public GeoDataGeometryPrivate
// been calculated. Saves performance. // been calculated. Saves performance.
TessellationFlags m_tessellationFlags; TessellationFlags m_tessellationFlags;
mutable qreal m_previousResolution; mutable qreal m_previousResolution;
mutable qreal m_level;}; mutable quint8 m_level;
};
} // namespace Marble } // namespace Marble
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment