Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrachytski <siarhei.rachytski@gmail.com>2011-10-06 17:02:47 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:25:29 +0300
commit43e98c429c78ec08f7bfa26873bf0178ac354556 (patch)
tree68ba1135fd14998f800ee059c826f58aaa900aef /map/ruler.cpp
parent6a867b16832bcbe6877c75059fc13b2ce8ff28d5 (diff)
minor optimizations for Ruler.
Diffstat (limited to 'map/ruler.cpp')
-rw-r--r--map/ruler.cpp105
1 files changed, 51 insertions, 54 deletions
diff --git a/map/ruler.cpp b/map/ruler.cpp
index 042ea24032..74aa46cb0d 100644
--- a/map/ruler.cpp
+++ b/map/ruler.cpp
@@ -14,57 +14,57 @@
void Ruler::initFeets()
{
- m_feets.push_back(make_pair("100 ft", 100));
- m_feets.push_back(make_pair("200 ft", 200));
- m_feets.push_back(make_pair("0.1 mi", 528));
- m_feets.push_back(make_pair("0.2 mi", 528 * 2));
- m_feets.push_back(make_pair("0.5 mi", 528 * 5));
- m_feets.push_back(make_pair("1 mi", 5280));
- m_feets.push_back(make_pair("2 mi", 2 * 5280));
- m_feets.push_back(make_pair("5 mi", 5 * 5280));
- m_feets.push_back(make_pair("10 mi", 10 * 5280));
- m_feets.push_back(make_pair("20 mi", 20 * 5280));
- m_feets.push_back(make_pair("50 mi", 50 * 5280));
- m_feets.push_back(make_pair("100 mi", 100 * 5280));
- m_feets.push_back(make_pair("200 mi", 200 * 5280));
- m_feets.push_back(make_pair("500 mi", 500 * 5280));
+ m_units.push_back(make_pair("100 ft", 100));
+ m_units.push_back(make_pair("200 ft", 200));
+ m_units.push_back(make_pair("0.1 mi", 528));
+ m_units.push_back(make_pair("0.2 mi", 528 * 2));
+ m_units.push_back(make_pair("0.5 mi", 528 * 5));
+ m_units.push_back(make_pair("1 mi", 5280));
+ m_units.push_back(make_pair("2 mi", 2 * 5280));
+ m_units.push_back(make_pair("5 mi", 5 * 5280));
+ m_units.push_back(make_pair("10 mi", 10 * 5280));
+ m_units.push_back(make_pair("20 mi", 20 * 5280));
+ m_units.push_back(make_pair("50 mi", 50 * 5280));
+ m_units.push_back(make_pair("100 mi", 100 * 5280));
+ m_units.push_back(make_pair("200 mi", 200 * 5280));
+ m_units.push_back(make_pair("500 mi", 500 * 5280));
}
void Ruler::initYards()
{
- m_yards.push_back(make_pair("50 yd", 50));
- m_yards.push_back(make_pair("100 yd", 100));
- m_yards.push_back(make_pair("200 yd", 200));
- m_yards.push_back(make_pair("500 yd", 500));
- m_yards.push_back(make_pair("0.5 mi", 0.5 * 1760));
- m_yards.push_back(make_pair("1 mi", 1760));
- m_yards.push_back(make_pair("2 mi", 2 * 1760));
- m_yards.push_back(make_pair("5 mi", 5 * 1760));
- m_yards.push_back(make_pair("10 mi", 10 * 1760));
- m_yards.push_back(make_pair("20 mi", 20 * 1760));
- m_yards.push_back(make_pair("50 mi", 50 * 1760));
- m_yards.push_back(make_pair("100 mi", 100 * 1760));
- m_yards.push_back(make_pair("200 mi", 200 * 1760));
- m_yards.push_back(make_pair("500 mi", 500 * 1760));
+ m_units.push_back(make_pair("50 yd", 50));
+ m_units.push_back(make_pair("100 yd", 100));
+ m_units.push_back(make_pair("200 yd", 200));
+ m_units.push_back(make_pair("500 yd", 500));
+ m_units.push_back(make_pair("0.5 mi", 0.5 * 1760));
+ m_units.push_back(make_pair("1 mi", 1760));
+ m_units.push_back(make_pair("2 mi", 2 * 1760));
+ m_units.push_back(make_pair("5 mi", 5 * 1760));
+ m_units.push_back(make_pair("10 mi", 10 * 1760));
+ m_units.push_back(make_pair("20 mi", 20 * 1760));
+ m_units.push_back(make_pair("50 mi", 50 * 1760));
+ m_units.push_back(make_pair("100 mi", 100 * 1760));
+ m_units.push_back(make_pair("200 mi", 200 * 1760));
+ m_units.push_back(make_pair("500 mi", 500 * 1760));
}
void Ruler::initMetres()
{
- m_metres.push_back(make_pair("20 m", 20));
- m_metres.push_back(make_pair("50 m", 50));
- m_metres.push_back(make_pair("100 m", 100));
- m_metres.push_back(make_pair("200 m", 200));
- m_metres.push_back(make_pair("500 m", 500));
- m_metres.push_back(make_pair("1 km", 1000));
- m_metres.push_back(make_pair("2 km", 2000));
- m_metres.push_back(make_pair("5 km", 5000));
- m_metres.push_back(make_pair("10 km", 10000));
- m_metres.push_back(make_pair("20 km", 20000));
- m_metres.push_back(make_pair("50 km", 50000));
- m_metres.push_back(make_pair("100 km", 100000));
- m_metres.push_back(make_pair("200 km", 200000));
- m_metres.push_back(make_pair("500 km", 500000));
- m_metres.push_back(make_pair("1000 km", 1000000));
+ m_units.push_back(make_pair("20 m", 20));
+ m_units.push_back(make_pair("50 m", 50));
+ m_units.push_back(make_pair("100 m", 100));
+ m_units.push_back(make_pair("200 m", 200));
+ m_units.push_back(make_pair("500 m", 500));
+ m_units.push_back(make_pair("1 km", 1000));
+ m_units.push_back(make_pair("2 km", 2000));
+ m_units.push_back(make_pair("5 km", 5000));
+ m_units.push_back(make_pair("10 km", 10000));
+ m_units.push_back(make_pair("20 km", 20000));
+ m_units.push_back(make_pair("50 km", 50000));
+ m_units.push_back(make_pair("100 km", 100000));
+ m_units.push_back(make_pair("200 km", 200000));
+ m_units.push_back(make_pair("500 km", 500000));
+ m_units.push_back(make_pair("1000 km", 1000000));
}
namespace {
@@ -84,21 +84,18 @@ Ruler::Ruler(Params const & p)
case Settings::Foot:
{
initFeets();
- m_units = &m_feets;
m_conversionFn = &MeasurementUtils::MetersToFeet;
break;
}
case Settings::Metric:
{
initMetres();
- m_units = &m_metres;
m_conversionFn = &identity;
break;
}
case Settings::Yard:
{
initYards();
- m_units = &m_yards;
m_conversionFn = &MeasurementUtils::MetersToYards;
break;
}
@@ -161,23 +158,23 @@ void Ruler::update()
m_metresDiff = lonDiff / MercatorBounds::degreeInMetres * lonDiffCorrection;
- if (m_units->at(0).second > m_conversionFn(m_metresDiff))
+ if (m_units[0].second > m_conversionFn(m_metresDiff))
{
- m_scalerText = "<" + m_units->at(0).first;
+ m_scalerText = "<" + m_units[0].first;
m_metresDiff = m_minUnitsWidth - 1;
}
- else if (m_units->back().second <= m_conversionFn(m_metresDiff))
+ else if (m_units.back().second <= m_conversionFn(m_metresDiff))
{
- m_scalerText = ">" + m_units->back().first;
+ m_scalerText = ">" + m_units.back().first;
m_metresDiff = m_maxUnitsWidth + 1;
}
else
- for (size_t i = 0; i < m_units->size(); ++i)
+ for (size_t i = 0; i < m_units.size(); ++i)
{
- if (m_units->at(i).second > m_conversionFn(m_metresDiff))
+ if (m_units[i].second > m_conversionFn(m_metresDiff))
{
- m_metresDiff = m_units->at(i).second / m_conversionFn(1);
- m_scalerText = m_units->at(i).first;
+ m_metresDiff = m_units[i].second / m_conversionFn(1);
+ m_scalerText = m_units[i].first;
break;
}
}