Mercurial > hg > svcore
diff base/RangeMapper.cpp @ 1206:659372323b45 tony-2.0-integration
Merge latest SV 3.0 branch code
author | Chris Cannam |
---|---|
date | Fri, 19 Aug 2016 15:58:57 +0100 |
parents | 932487fe515a |
children | 48e9f538e6e9 |
line wrap: on
line diff
--- a/base/RangeMapper.cpp Tue Oct 20 12:54:06 2015 +0100 +++ b/base/RangeMapper.cpp Fri Aug 19 15:58:57 2016 +0100 @@ -23,13 +23,15 @@ LinearRangeMapper::LinearRangeMapper(int minpos, int maxpos, double minval, double maxval, - QString unit, bool inverted) : + QString unit, bool inverted, + std::map<int, QString> labels) : m_minpos(minpos), m_maxpos(maxpos), m_minval(minval), m_maxval(maxval), m_unit(unit), - m_inverted(inverted) + m_inverted(inverted), + m_labels(labels) { assert(m_maxval != m_minval); assert(m_maxpos != m_minpos); @@ -70,9 +72,20 @@ double value = m_minval + ((double(position - m_minpos) / double(m_maxpos - m_minpos)) * (m_maxval - m_minval)); +// cerr << "getValueForPositionUnclamped(" << position << "): minval " << m_minval << ", maxval " << m_maxval << ", value " << value << endl; return value; } +QString +LinearRangeMapper::getLabel(int position) const +{ + if (m_labels.find(position) != m_labels.end()) { + return m_labels.at(position); + } else { + return ""; + } +} + LogRangeMapper::LogRangeMapper(int minpos, int maxpos, double minval, double maxval, QString unit, bool inverted) :