caf: implement checking if a color is in a color table

This commit is contained in:
Gaute Lindkvist 2020-06-19 12:46:54 +02:00
parent 007f0282df
commit 1d16b55fdc
2 changed files with 23 additions and 3 deletions

View File

@ -132,7 +132,24 @@ caf::ColorTable ColorTable::inverted() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::Color3ub ColorTable::fromQColor( const QColor& color )
bool ColorTable::contains(const cvf::Color3ub& color) const
{
auto it = std::find(m_colors.begin(), m_colors.end(), color);
return it != m_colors.end();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool ColorTable::contains(const cvf::Color3f& color) const
{
return contains(cvf::Color3ub(color));
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::Color3ub ColorTable::fromQColor(const QColor& color)
{
return cvf::Color3ub( color.red(), color.green(), color.blue() );
}

View File

@ -67,8 +67,11 @@ public:
ColorTable inverted() const;
static cvf::Color3ub fromQColor( const QColor& color );
static cvf::Color3ubArray interpolateColorArray( const cvf::Color3ubArray& colorArray, size_t targetColorCount );
bool contains(const cvf::Color3ub& color) const;
bool contains(const cvf::Color3f& color) const;
static cvf::Color3ub fromQColor(const QColor& color);
static cvf::Color3ubArray interpolateColorArray(const cvf::Color3ubArray& colorArray, size_t targetColorCount);
private:
const std::vector<cvf::Color3ub> m_colors;