https://gitlab.opengeosys.org/ogs/ogs.git
Raw File
Tip revision: dad1b969d19fed3336842bb4e4c927857ed476c8 authored by Wenqing Wang on 09 September 2021, 07:03:29 UTC
[Test/HT] Increased the tolerance pf the linear solver for H in
Tip revision: dad1b96
Color.cpp
/**
 * \file
 * \author Karsten Rink
 * \date   2010-06-16
 * \brief  Implementation of the Color class.
 *
 * \copyright
 * Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org)
 *            Distributed under a Modified BSD License.
 *              See accompanying file LICENSE.txt or
 *              http://www.opengeosys.org/project/license
 *
 */

#include "Color.h"

#include "BaseLib/Logging.h"

namespace DataHolderLib
{
Color createColor(unsigned char r,
                  unsigned char g,
                  unsigned char b,
                  unsigned char a)
{
    return Color{{r, g, b, a}};
}

Color getRandomColor()
{
    return createColor(static_cast<unsigned char>((rand() % 5) * 50),
                       static_cast<unsigned char>((rand() % 5) * 50),
                       static_cast<unsigned char>((rand() % 5) * 50));
}

Color getColor(const std::string& id, std::map<std::string, Color>& colors)
{
    auto it = colors.find(id);

    if (it == end(colors))
    {
        WARN("Key '{:s}' not found in color lookup table.", id);
        it = colors.insert({id, getRandomColor()}).first;
    }

    return it->second;
}

}  // namespace DataHolderLib
back to top