codac 2.0.0
Loading...
Searching...
No Matches
codac2::ColorMap Struct Reference

Represents a set of RGB or HSV values. More...

#include <codac2_ColorMap.h>

Public Member Functions

 ColorMap (Model m_=Model::RGB)
 Constructor from a model.
 
const Modelmodel () const
 Getter for the color model.
 
Color color (float r) const
 Getter for the color at a given value.
 

Static Public Member Functions

static ColorMap haxby (float alpha=1.)
 Haxby color map.
 
static ColorMap basic (float alpha=1.)
 Basic color map.
 
static ColorMap blue_tube (float alpha=1.)
 Blue tube color map.
 
static ColorMap red_tube (float alpha=1.)
 Red tube color map.
 
static ColorMap rainbow (float alpha=1.)
 Rainbow color map.
 

Detailed Description

Represents a set of RGB or HSV values.

This class is used to represent a set of RGB or HSV values to create a color map. It inherits from std::map<float,Color>

Once a ColorMap is created, Colors can be added to it as for a std::map.

Constructor & Destructor Documentation

◆ ColorMap()

codac2::ColorMap::ColorMap ( Model m_ = Model::RGB)
explicit

Constructor from a model.

Parameters
m_Color model (RGB or HSV). It defines the interpolation space

Member Function Documentation

◆ model()

const Model & codac2::ColorMap::model ( ) const
inline

Getter for the color model.

Returns
The color model (RGB or HSV)
47{ return m; }

◆ color()

Color codac2::ColorMap::color ( float r) const

Getter for the color at a given value.

Parameters
rValue between 0 and 1

◆ haxby()

static ColorMap codac2::ColorMap::haxby ( float alpha = 1.)
inlinestatic

Haxby color map.

Haxby color map

62 {
63 ColorMap cmap( Model::RGB );
64 cmap[0]=Color({39.,90.,211.,255.f*alpha});
65 cmap[1]=Color({40.,123.,245.,255.f*alpha});
66 cmap[2]=Color({45.,155.,253.,255.f*alpha});
67 cmap[3]=Color({73.,209.,255.,255.f*alpha});
68 cmap[4]=Color({100.,230.,254.,255.f*alpha});
69 cmap[5]=Color({118.,235.,226.,255.f*alpha});
70 cmap[6]=Color({135.,236.,187.,255.f*alpha});
71 cmap[7]=Color({194.,252.,165.,255.f*alpha});
72 cmap[8]=Color({217.,251.,151.,255.f*alpha});
73 cmap[9]=Color({233.,241.,131.,255.f*alpha});
74 cmap[10]=Color({252.,201.,96.,255.f*alpha});
75 cmap[11]=Color({255.,184.,84.,255.f*alpha});
76 cmap[12]=Color({255.,170.,75.,255.f*alpha});
77 cmap[13]=Color({255.,167.,83.,255.f*alpha});
78 cmap[14]=Color({255.,200.,158.,255.f*alpha});
79 cmap[15]=Color({255.,233.,217.,255.f*alpha});
80 return cmap;
81 }
ColorMap(Model m_=Model::RGB)
Constructor from a model.

◆ basic()

static ColorMap codac2::ColorMap::basic ( float alpha = 1.)
inlinestatic

Basic color map.

Default color map

89 {
90 ColorMap cmap( Model::RGB );
91 cmap[0]=Color({10.,0.,121.,255.f*alpha});
92 cmap[1]=Color({40.,0.,150.,255.f*alpha});
93 cmap[2]=Color({20.,5.,175.,255.f*alpha});
94 cmap[3]=Color({0.,10.,200.,255.f*alpha});
95 cmap[4]=Color({0.,25.,212.,255.f*alpha});
96 cmap[5]=Color({0.,40.,224.,255.f*alpha});
97 cmap[6]=Color({26.,102.,240.,255.f*alpha});
98 cmap[7]=Color({13.,129.,248.,255.f*alpha});
99 cmap[8]=Color({25.,175.,255.,255.f*alpha});
100 cmap[9]=Color({50.,190.,255.,255.f*alpha});
101 cmap[10]=Color({68.,202.,255.,255.f*alpha});
102 cmap[11]=Color({97.,225.,240.,255.f*alpha});
103 cmap[12]=Color({106.,235.,225.,255.f*alpha});
104 cmap[13]=Color({124.,235.,200.,255.f*alpha});
105 cmap[14]=Color({138.,236.,174.,255.f*alpha});
106 cmap[15]=Color({172.,245.,168.,255.f*alpha});
107 cmap[16]=Color({205.,255.,162.,255.f*alpha});
108 cmap[17]=Color({223.,245.,141.,255.f*alpha});
109 cmap[18]=Color({240.,236.,121.,255.f*alpha});
110 cmap[19]=Color({247.,215.,104.,255.f*alpha});
111 cmap[20]=Color({255.,189.,87.,255.f*alpha});
112 cmap[21]=Color({255.,160.,69.,255.f*alpha});
113 cmap[22]=Color({244.,117.,75.,255.f*alpha});
114 cmap[23]=Color({238.,80.,78.,255.f*alpha});
115 cmap[24]=Color({255.,90.,90.,255.f*alpha});
116 cmap[25]=Color({255.,124.,124.,255.f*alpha});
117 cmap[26]=Color({255.,158.,158.,255.f*alpha});
118 cmap[27]=Color({245.,179.,174.,255.f*alpha});
119 cmap[28]=Color({255.,196.,196.,255.f*alpha});
120 cmap[29]=Color({255.,215.,215.,255.f*alpha});
121 cmap[30]=Color({255.,235.,235.,255.f*alpha});
122 cmap[31]=Color({255.,254.,253.,255.f*alpha});
123 return cmap;
124 }

◆ blue_tube()

static ColorMap codac2::ColorMap::blue_tube ( float alpha = 1.)
inlinestatic

Blue tube color map.

Default color map for tubes

132 {
133 ColorMap cmap( Model::RGB );
134 cmap[0]=Color({76.,110.,127.,255.f*alpha});
135 cmap[1]=Color({136.,197.,228.,255.f*alpha});
136 return cmap;
137 }

◆ red_tube()

static ColorMap codac2::ColorMap::red_tube ( float alpha = 1.)
inlinestatic

Red tube color map.

Color map for tubes

145 {
146 ColorMap cmap( Model::RGB );
147 cmap[0]=Color({169.,55.,0.,255.f*alpha});
148 cmap[1]=Color({241.,140.,54.,255.f*alpha});
149 return cmap;
150 }

◆ rainbow()

static ColorMap codac2::ColorMap::rainbow ( float alpha = 1.)
inlinestatic

Rainbow color map.

Rainbow color map

158 {
159 ColorMap cmap( Model::HSV );
160 int i = 0;
161 for(int h = 300 ; h > 0 ; h-=10)
162 {
163 cmap[i]=Color({(float)h,100.,100.,100.f*alpha},Model::HSV);
164 i++;
165 }
166 return cmap;
167 }

The documentation for this struct was generated from the following file: