summaryrefslogtreecommitdiff
path: root/src/color-map.cpp
diff options
context:
space:
mode:
authorVasile Vilvoiu <vasi@vilvoiu.ro>2021-10-20 21:58:13 +0300
committerVasile Vilvoiu <vasi@vilvoiu.ro>2021-10-20 21:58:13 +0300
commita568a2bbf457283717440ecf8711e87db7a4201e (patch)
treecf491c9d08b7355d241b0e79a5f3de9a2dc80eb3 /src/color-map.cpp
parentd445fd00976fa3ce7ce2eda4d18e9b489a78aa67 (diff)
Add 'hot' and 'inferno' colormaps.
Make 'inferno' default.
Diffstat (limited to 'src/color-map.cpp')
-rw-r--r--src/color-map.cpp45
1 files changed, 44 insertions, 1 deletions
diff --git a/src/color-map.cpp b/src/color-map.cpp
index 7bf7e4e..3b51af1 100644
--- a/src/color-map.cpp
+++ b/src/color-map.cpp
@@ -20,6 +20,12 @@ ColorMap::Build(ColorMapType type, const sf::Color& bg_color, const sf::Color& c
case ColorMapType::kJet:
return std::make_unique<JetColorMap>();
+ case ColorMapType::kHot:
+ return std::make_unique<HotColorMap>();
+
+ case ColorMapType::kInferno:
+ return std::make_unique<InfernoColorMap>();
+
case ColorMapType::kGray:
return std::make_unique<TwoColorMap>(sf::Color::Black, sf::Color::White);
@@ -150,4 +156,41 @@ JetColorMap::JetColorMap() : InterpolationColorMap(
{ 0.0f, 1.0f / 9.0f, 23.0f / 63.0f, 13.0f / 21.0f, 47.0f / 63.0f, 55.0 / 63.0, 1.0f }
)
{
-} \ No newline at end of file
+}
+
+HotColorMap::HotColorMap() : InterpolationColorMap(
+ {
+ sf::Color(0, 0, 0, 255),
+ sf::Color(255, 0, 0, 255),
+ sf::Color(255, 255, 0, 255),
+ sf::Color(255, 255, 255, 255),
+ },
+ { 0.0f, 1.0f / 3.0f, 2.0f / 3.0f, 1.0f }
+ )
+{
+}
+
+InfernoColorMap::InfernoColorMap() : InterpolationColorMap(
+ {
+ sf::Color(0, 0, 0, 255),
+ sf::Color(40, 11, 84, 255),
+ sf::Color(101, 21, 110, 255),
+ sf::Color(159, 42, 99, 255),
+ sf::Color(212, 72, 66, 255),
+ sf::Color(245, 125, 21, 255),
+ sf::Color(250, 193, 39, 255),
+ sf::Color(252, 255, 164, 255),
+ },
+ {
+ 0.0f,
+ 0.142857142857143f,
+ 0.285714285714286f,
+ 0.428571428571429f,
+ 0.571428571428571f,
+ 0.714285714285714f,
+ 0.857142857142857f,
+ 1.0f
+ }
+ )
+{
+}