Omnidome
Fulldome Mapping Software Toolkit
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Attributes | Friends
omni::proj::ColorCorrection Class Reference

Color correction for RGB color space. More...

#include <ColorCorrection.h>

Collaboration diagram for omni::proj::ColorCorrection:
Collaboration graph
[legend]

Public Member Functions

bool isUsed () const
 
void setUsed (bool _isUsed)
 
ChannelCorrectionall ()
 Return reference to channel correction for all channels. More...
 
ChannelCorrection const & all () const
 Return reference to channel correction for all channels (const) More...
 
void setAll (ChannelCorrection const &)
 Set channel correction for all channels. More...
 
ChannelCorrectionred ()
 Return reference to channel correction for red channel. More...
 
ChannelCorrection const & red () const
 Return reference to channel correction for red channel. More...
 
void setRed (ChannelCorrection const &)
 Set channel correction for red channel. More...
 
ChannelCorrectiongreen ()
 Return reference to channel correction for green channel. More...
 
ChannelCorrection const & green () const
 Return reference to channel correction for green channel. More...
 
void setGreen (ChannelCorrection const &)
 Set channel correction for green channel. More...
 
ChannelCorrectionblue ()
 Return reference to channel correction for blue channel. More...
 
ChannelCorrection const & blue () const
 Return reference to channel correction for blue channel. More...
 
void setBlue (ChannelCorrection const &)
 Set channel correction for blue channel. More...
 
QColor corrected (QColor) const
 Return corrected color. More...
 
ChannelCorrectioncorrection (Channel)
 Return color correction for given channel. More...
 
ChannelCorrection const * correction (Channel) const
 Return color correction for given channel (const version) More...
 

Static Public Member Functions

static QColor channelColor (Channel)
 

Private Attributes

bool isUsed_ = true
 
ChannelCorrection all_
 
ChannelCorrection red_
 
ChannelCorrection green_
 
ChannelCorrection blue_
 

Friends

bool operator== (ColorCorrection const &, ColorCorrection const &)
 

Detailed Description

Color correction for RGB color space.

Member Function Documentation

ChannelCorrection & omni::proj::ColorCorrection::all ( )

Return reference to channel correction for all channels.

36  {
37  return all_;
38  }
ChannelCorrection all_
Definition: ColorCorrection.h:87
ChannelCorrection const & omni::proj::ColorCorrection::all ( ) const

Return reference to channel correction for all channels (const)

40  {
41  return all_;
42  }
ChannelCorrection all_
Definition: ColorCorrection.h:87
ChannelCorrection & omni::proj::ColorCorrection::blue ( )

Return reference to channel correction for blue channel.

72  {
73  return blue_;
74  }
ChannelCorrection blue_
Definition: ColorCorrection.h:87
ChannelCorrection const & omni::proj::ColorCorrection::blue ( ) const

Return reference to channel correction for blue channel.

76  {
77  return blue_;
78  }
ChannelCorrection blue_
Definition: ColorCorrection.h:87
QColor omni::proj::ColorCorrection::channelColor ( Channel  _channel)
static
117  {
118  switch (_channel) {
119  default:
120  case Channel::ALL: return Qt::white; break;
121  case Channel::RED: return Qt::red; break;
122  case Channel::GREEN: return Qt::green; break;
123  case Channel::BLUE: return Qt::blue; break;
124  }
125  return Qt::transparent;
126  }
QColor omni::proj::ColorCorrection::corrected ( QColor  _color) const

Return corrected color.

84  {
85  qreal _r = all_.corrected(red_.corrected(_color.redF()));
86  qreal _g = all_.corrected(green_.corrected(_color.greenF()));
87  qreal _b = all_.corrected(blue_.corrected(_color.blueF()));
88 
89  return QColor(
90  qBound(0, int(_r * 255), 255),
91  qBound(0, int(_g * 255), 255),
92  qBound(0, int(_b * 255), 255));
93  }
ChannelCorrection all_
Definition: ColorCorrection.h:87
ChannelCorrection red_
Definition: ColorCorrection.h:87
double corrected(double _value) const
Return corrected value, value is NOT clamped.
Definition: ChannelCorrection.cpp:80
ChannelCorrection blue_
Definition: ColorCorrection.h:87
ChannelCorrection green_
Definition: ColorCorrection.h:87
ChannelCorrection * omni::proj::ColorCorrection::correction ( Channel  _channel)

Return color correction for given channel.

95  {
96  switch (_channel) {
97  default:
98  case Channel::ALL: return &all_;
99  case Channel::RED: return &red_;
100  case Channel::GREEN: return &green_;
101  case Channel::BLUE: return &blue_;
102  }
103  return nullptr;
104  }
ChannelCorrection all_
Definition: ColorCorrection.h:87
ChannelCorrection red_
Definition: ColorCorrection.h:87
ChannelCorrection blue_
Definition: ColorCorrection.h:87
ChannelCorrection green_
Definition: ColorCorrection.h:87
ChannelCorrection const * omni::proj::ColorCorrection::correction ( Channel  _channel) const

Return color correction for given channel (const version)

106  {
107  switch (_channel) {
108  default:
109  case Channel::ALL: return &all_;
110  case Channel::RED: return &red_;
111  case Channel::GREEN: return &green_;
112  case Channel::BLUE: return &blue_;
113  }
114  return nullptr;
115  }
ChannelCorrection all_
Definition: ColorCorrection.h:87
ChannelCorrection red_
Definition: ColorCorrection.h:87
ChannelCorrection blue_
Definition: ColorCorrection.h:87
ChannelCorrection green_
Definition: ColorCorrection.h:87
ChannelCorrection & omni::proj::ColorCorrection::green ( )

Return reference to channel correction for green channel.

60  {
61  return green_;
62  }
ChannelCorrection green_
Definition: ColorCorrection.h:87
ChannelCorrection const & omni::proj::ColorCorrection::green ( ) const

Return reference to channel correction for green channel.

64  {
65  return green_;
66  }
ChannelCorrection green_
Definition: ColorCorrection.h:87
bool omni::proj::ColorCorrection::isUsed ( ) const
28  {
29  return isUsed_;
30  }
bool isUsed_
Definition: ColorCorrection.h:86
ChannelCorrection & omni::proj::ColorCorrection::red ( )

Return reference to channel correction for red channel.

48  {
49  return red_;
50  }
ChannelCorrection red_
Definition: ColorCorrection.h:87
ChannelCorrection const & omni::proj::ColorCorrection::red ( ) const

Return reference to channel correction for red channel.

52  {
53  return red_;
54  }
ChannelCorrection red_
Definition: ColorCorrection.h:87
void omni::proj::ColorCorrection::setAll ( ChannelCorrection const &  _all)

Set channel correction for all channels.

44  {
45  all_ = _all;
46  }
ChannelCorrection all_
Definition: ColorCorrection.h:87
void omni::proj::ColorCorrection::setBlue ( ChannelCorrection const &  _blue)

Set channel correction for blue channel.

80  {
81  blue_ = _blue;
82  }
ChannelCorrection blue_
Definition: ColorCorrection.h:87
void omni::proj::ColorCorrection::setGreen ( ChannelCorrection const &  _green)

Set channel correction for green channel.

68  {
69  green_ = _green;
70  }
ChannelCorrection green_
Definition: ColorCorrection.h:87
void omni::proj::ColorCorrection::setRed ( ChannelCorrection const &  _red)

Set channel correction for red channel.

56  {
57  red_ = _red;
58  }
ChannelCorrection red_
Definition: ColorCorrection.h:87
void omni::proj::ColorCorrection::setUsed ( bool  _isUsed)
32  {
33  isUsed_ = _isUsed;
34  }
bool isUsed_
Definition: ColorCorrection.h:86

Friends And Related Function Documentation

bool operator== ( ColorCorrection const &  _lhs,
ColorCorrection const &  _rhs 
)
friend
128  {
129  return
135  }
ChannelCorrection all_
Definition: ColorCorrection.h:87
ChannelCorrection red_
Definition: ColorCorrection.h:87
#define OMNI_TEST_MEMBER_EQUAL(member)
Definition: util.h:125
bool isUsed_
Definition: ColorCorrection.h:86
ChannelCorrection blue_
Definition: ColorCorrection.h:87
ChannelCorrection green_
Definition: ColorCorrection.h:87

Field Documentation

ChannelCorrection omni::proj::ColorCorrection::all_
private
ChannelCorrection omni::proj::ColorCorrection::blue_
private
ChannelCorrection omni::proj::ColorCorrection::green_
private
bool omni::proj::ColorCorrection::isUsed_ = true
private
ChannelCorrection omni::proj::ColorCorrection::red_
private

The documentation for this class was generated from the following files: