![]() |
IDS peak AFL v1.8.0
|
Base interface for auto feature implementations. More...
#include <peak_afl/pipeline/modules/controllers/features/peak_afl_ifeature.hpp>
Public Member Functions | |
| virtual | ~IFeature ()=default |
| Virtual destructor for proper cleanup of derived classes. | |
| virtual void | Set (const T &value)=0 |
| Sets the feature value. | |
| virtual PEAK_COMMON_NO_DISCARD T | Get () const =0 |
| Gets the current feature value. | |
Public Member Functions inherited from ISerializable | |
| virtual void | Serialize (IArchive &archive) const =0 |
| Serializes the current object into the provided archive. | |
| virtual void | Deserialize (const IArchive &archive)=0 |
| Deserializes the object's state from the provided archive. | |
Base interface for auto feature implementations.
The IFeature template class provides the fundamental interface for all auto feature implementations in the pipeline system. It defines the basic operations that all features must support: getting and setting values, plus serialization for configuration persistence.
This interface is designed to be type-safe and provides a consistent API across all feature types, whether they manage simple values like integers, complex types like algorithms, or geometric types like rectangles.
All feature implementations inherit from this interface and must implement the pure virtual methods for their specific value type.
| T | The type of value that this feature manages (e.g., uint32_t, BrightnessAnalysisAlgorithm, Rectangle, etc.) |
|
virtualdefault |
Virtual destructor for proper cleanup of derived classes.
|
pure virtual |
Gets the current feature value.
Retrieves the current value of this feature from the underlying system.
| Implementation-specific | exceptions may be thrown if the underlying system is in an invalid state. |
Implemented in AutoPercentile, AutoTarget, AutoTolerance, BrightnessAlgorithm, BrightnessExposureLimit, BrightnessGainAnalogLimit, BrightnessGainCombinedLimit, BrightnessGainDigitalLimit, BrightnessGainHostLimit, BrightnessGainLimit, FocusLimit, Hysteresis, Roi, SearchAlgorithm, SharpnessAlgorithm, SkipFrames, and WeightedRois.
|
pure virtual |
Sets the feature value.
Sets the current value of this feature. The specific behavior depends on the feature implementation and the type of value being managed.
| [in] | value | The new value to set for this feature |
| Implementation-specific | exceptions may be thrown if the value is invalid or if the underlying system is in an invalid state. |
Implemented in AutoPercentile, AutoTarget, AutoTolerance, BrightnessAlgorithm, BrightnessExposureLimit, BrightnessGainAnalogLimit, BrightnessGainCombinedLimit, BrightnessGainDigitalLimit, BrightnessGainHostLimit, BrightnessGainLimit, FocusLimit, Hysteresis, Roi, SearchAlgorithm, SharpnessAlgorithm, SkipFrames, and WeightedRois.