CB-BrBG.h
Go to the documentation of this file.
1/**
2 * This file was automatically created with "create_c++_header.sh".
3 * Do not edit manually.
4 */
5#pragma once
6#include "../../colormap.h"
7
8namespace colormap
9{
10 namespace IDL
11 {
12
13 class CBBrBG : public Colormap
14 {
15 private:
16 class Wrapper : public WrapperBase
17 {
18 public:
19#ifdef float
20#error "TODO"
21#endif
22#define float local_real_t
23#include "../../../../shaders/glsl/IDL_CB-BrBG.frag"
24#undef float
25 };
26
27 public:
28 Color
29 getColor(double x) const override
30 {
31 Wrapper w;
32 vec4 c = w.colormap(x);
33 Color result;
34 result.r = std::max(0.0, std::min(1.0, c.r));
35 result.g = std::max(0.0, std::min(1.0, c.g));
36 result.b = std::max(0.0, std::min(1.0, c.b));
37 result.a = std::max(0.0, std::min(1.0, c.a));
38 return result;
39 }
40
41 std::string
42 getTitle() const override
43 {
44 return std::string("CB-BrBG");
45 }
46
47 std::string
48 getCategory() const override
49 {
50 return std::string("IDL");
51 }
52
53 std::string
54 getSource() const override
55 {
56 return std::string(
57 "float colormap_red(float x) {\n"
58 " if (x < 0.4128910005092621) {\n"
59 " return (-6.30796693758704E+02 * x + 6.59139629181867E+02) * x + "
60 "8.16592339699109E+01;\n"
61 " } else if (x < 0.5004365747118258) {\n"
62 " return -1.99292307692284E+01 * x + 2.54503076923075E+02;\n"
63 " } else if (x < 0.6000321805477142) {\n"
64 " return -4.46903540903651E+02 * x + 4.68176638176691E+02;\n"
65 " } else {\n"
66 " return ((2.43537534073204E+03 * x - 5.03831150657605E+03) * x + "
67 "2.73595321475367E+03) * x - 1.53778856560153E+02;\n"
68 " }\n"
69 "}\n"
70 "\n"
71 "float colormap_green(float x) {\n"
72 " if (x < 0.3067105114459991) {\n"
73 " return (((((-1.43558931121826E+06 * x + 1.21789289489746E+06) * x "
74 "- 3.88754308517456E+05) * x + 5.87745165729522E+04) * x - "
75 "3.61237992835044E+03) * x + 4.00139210969209E+02) * x + "
76 "4.80612502318691E+01;\n"
77 " } else if (x < 0.4045854562297116) {\n"
78 " return 3.64978461538455E+02 * x + 8.50984615384636E+01;\n"
79 " } else if (x < 0.5035906732082367) {\n"
80 " return 1.25827692307720E+02 * x + 1.81855384615367E+02;\n"
81 " } else {\n"
82 " return ((((-2.83948052403926E+04 * x + 1.08768529946603E+05) * x - "
83 "1.62569302478295E+05) * x + 1.17919256227845E+05) * x - 4.16776268978779E+04) "
84 "* x + 6.01529271177582E+03;\n"
85 " }\n"
86 "}\n"
87 "\n"
88 "float colormap_blue(float x) {\n"
89 " if (x < 0.1012683545126085) {\n"
90 " return 5.85993431855501E+01 * x + 4.56403940886700E+00;\n"
91 " } else if (x < 0.2050940692424774) {\n"
92 " return 3.51072173913048E+02 * x - 2.50542028985514E+01;\n"
93 " } else if (x < 0.5022056996822357) {\n"
94 " return (-7.65121475963620E+02 * x + 1.20827362856208E+03) * x - "
95 "1.68677387505814E+02;\n"
96 " } else if (x < 0.5970333516597748) {\n"
97 " return -1.62299487179500E+02 * x + 3.26660512820525E+02;\n"
98 " } else {\n"
99 " return ((1.27993125066091E+03 * x - 3.19799978871341E+03) * x + "
100 "2.16242391471484E+03) * x - 1.93738146367890E+02;\n"
101 " }\n"
102 "}\n"
103 "\n"
104 "vec4 colormap(float x) {\n"
105 " float r = clamp(colormap_red(x) / 255.0, 0.0, 1.0);\n"
106 " float g = clamp(colormap_green(x) / 255.0, 0.0, 1.0);\n"
107 " float b = clamp(colormap_blue(x) / 255.0, 0.0, 1.0);\n"
108 " return vec4(r, g, b, 1.0);\n"
109 "}\n");
110 }
111 };
112
113 } // namespace IDL
114} // namespace colormap
constexpr T c
std::string getCategory() const override
Definition CB-BrBG.h:48
std::string getSource() const override
Definition CB-BrBG.h:54
Color getColor(double x) const override
Definition CB-BrBG.h:29
std::string getTitle() const override
Definition CB-BrBG.h:42
uint32_t Color
RGBA color.
Definition color.h:8
This file offers overloads of toIce() and fromIce() functions for STL container types.
This file was automatically created with "create_c++_header.sh".
Definition colormap.h:10