IDS peak ICV v1.2.0
Loading...
Searching...
No Matches
peak_icv_gain_feature.hpp
Go to the documentation of this file.
1
11#pragma once
12
16
17namespace peak
18{
19namespace pipeline
20{
21namespace features
22{
23
65class GainFeature : public IFeature
66{
67public:
75 explicit GainFeature(detail::GainModule& module);
76
80 void SetEnabled(bool enabled) override;
81
85 PEAK_COMMON_NO_DISCARD bool IsEnabled() const override;
86
94 void ResetToDefault() override;
95
108 void SetMaster(float value);
109
117 PEAK_COMMON_NO_DISCARD float GetMaster() const;
118
131 void SetRed(float value);
132
140 PEAK_COMMON_NO_DISCARD float GetRed() const;
141
154 void SetGreen(float value);
155
163 PEAK_COMMON_NO_DISCARD float GetGreen() const;
164
177 void SetBlue(float value);
178
186 PEAK_COMMON_NO_DISCARD float GetBlue() const;
187
198 PEAK_COMMON_NO_DISCARD peak::common::IntervalF GetRange() const;
199
200private:
201 detail::GainModule& m_module;
202};
203
205 : m_module(module)
206{}
207
208inline void GainFeature::SetEnabled(bool enabled)
209{
210 m_module.SetEnabled(enabled);
211}
212
213inline bool GainFeature::IsEnabled() const
214{
215 return m_module.IsEnabled();
216}
217
219{
220 m_module.ResetToDefault();
221}
222
223inline void GainFeature::SetMaster(float value)
224{
225 m_module.SetMaster(value);
226}
227
228inline float GainFeature::GetMaster() const
229{
230 return m_module.GetMaster();
231}
232
233inline void GainFeature::SetRed(float value)
234{
235 m_module.SetRed(value);
236}
237
238inline float GainFeature::GetRed() const
239{
240 return m_module.GetRed();
241}
242
243inline void GainFeature::SetGreen(float value)
244{
245 m_module.SetGreen(value);
246}
247
248inline float GainFeature::GetGreen() const
249{
250 return m_module.GetGreen();
251}
252
253inline void GainFeature::SetBlue(float value)
254{
255 m_module.SetBlue(value);
256}
257
258inline float GainFeature::GetBlue() const
259{
260 return m_module.GetBlue();
261}
262
264{
265 return m_module.GetRange();
266}
267
268} // namespace features
269} // namespace pipeline
270} // namespace peak
Represents a continuous numeric interval with inclusive lower and upper bounds.
Image pipeline module for applying gain to the image.
float GetGreen() const override
Returns the current green gain.
peak::common::IntervalF GetRange() const
Returns the valid range for the master or color gains.
void SetBlue(float value) override
Sets the blue gain value.
float GetMaster() const override
Returns the current master gain.
void SetGreen(float value) override
Sets the green gain value.
void SetRed(float value) override
Sets the red gain value.
float GetBlue() const override
Returns the current blue gain.
float GetRed() const override
Returns the current red gain.
void SetEnabled(bool enabled) override
Sets the enabled state of this module.
void SetMaster(float value) override
Sets the master gain value.
void ResetToDefault() override
Resets the gain values to their defaults.
bool IsEnabled() const override
Checks if the module is currently enabled.
The GainFeature applies gain to the image.
float GetRed() const
Retrieves the current red gain.
void SetMaster(float value)
Sets the master gain value.
peak::common::IntervalF GetRange() const
Retrieves the valid range for the master or color gains.
GainFeature(detail::GainModule &module)
Creates a GainFeature for an existing gain module.
void SetBlue(float value)
Sets the blue gain value.
void SetRed(float value)
Sets the red gain value.
void SetGreen(float value)
Sets the green gain value.
float GetBlue() const
Retrieves the current blue gain.
void SetEnabled(bool enabled) override
Enables or disables the feature.
void ResetToDefault() override
Resets the gain values to their defaults.
float GetMaster() const
Retrieves the current master gain.
float GetGreen() const
Retrieves the current green gain.
bool IsEnabled() const override
Indicates whether the feature is currently enabled.
Abstract base class for all image processing pipeline features.