##// END OF EJS Templates
Changes the name of the mokc plugin nodes to facilitate their access in the merged tree
Changes the name of the mokc plugin nodes to facilitate their access in the merged tree

File last commit:

r1058:d684e1205d9a
r1083:a94048bf05e3
Show More
QCPColorMapIterator.cpp
58 lines | 1.4 KiB | text/x-c | CppLexer
/ gui / src / Visualization / QCPColorMapIterator.cpp
#include "Visualization/QCPColorMapIterator.h"
#include <Visualization/qcustomplot.h>
QCPColorMapIterator::QCPColorMapIterator(QCPColorMapData *data, bool begin)
: m_Data{data}, m_KeyIndex{begin ? 0 : data->keySize()}, m_ValueIndex{0}
{
updateValue();
}
QCPColorMapIterator &QCPColorMapIterator::operator++()
{
// Increments indexes
++m_ValueIndex;
if (m_ValueIndex == m_Data->valueSize()) {
++m_KeyIndex;
m_ValueIndex = 0;
}
// Updates value
updateValue();
return *this;
}
QCPColorMapIterator QCPColorMapIterator::operator++(int)
{
auto result = *this;
this->operator++();
return result;
}
QCPColorMapIterator::pointer QCPColorMapIterator::operator->() const
{
return &m_Value;
}
QCPColorMapIterator::reference QCPColorMapIterator::operator*() const
{
return m_Value;
}
bool QCPColorMapIterator::operator==(const QCPColorMapIterator &other)
{
return std::tie(m_Data, m_KeyIndex, m_ValueIndex)
== std::tie(other.m_Data, other.m_KeyIndex, other.m_ValueIndex);
}
bool QCPColorMapIterator::operator!=(const QCPColorMapIterator &other)
{
return !(*this == other);
}
void QCPColorMapIterator::updateValue()
{
m_Value = m_KeyIndex != m_Data->keySize() ? m_Data->cell(m_KeyIndex, m_ValueIndex)
: std::numeric_limits<double>::quiet_NaN();
}