IDS peak AFL v2.1.0
Loading...
Searching...
No Matches
IFeature< T > Class Template Referenceabstract

Base interface for auto feature implementations. More...

#include <peak_afl/pipeline/modules/controllers/features/peak_afl_ifeature.hpp>

Inheritance diagram for IFeature< T >:
ISerializable IListFeature< T > IRangeFeature< T >

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 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.

Detailed Description

template<typename T>
class peak::pipeline::modules::autofeature::features::IFeature< T >

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.

Template Parameters
TThe type of value that this feature manages (e.g., uint32_t, BrightnessAnalysisAlgorithm, Rectangle, etc.)
See also
IRangeFeature
IListFeature
peak::common::serialization::ISerializable
Since
1.8

Constructor & Destructor Documentation

◆ ~IFeature()

template<typename T>
virtual ~IFeature ( )
virtualdefault

Virtual destructor for proper cleanup of derived classes.

Since
1.8

Member Function Documentation

◆ Get()

template<typename T>
virtual T Get ( ) const
pure virtual

Gets the current feature value.

Retrieves the current value of this feature from the underlying system.

Returns
The current value of this feature
Exceptions
Implementation-specificexceptions may be thrown if the underlying system is in an invalid state.
See also
Set()
Since
1.8

Implemented in AutoPercentile, AutoTarget, AutoTolerance, BrightnessAlgorithm, BrightnessExposureLimit, BrightnessGainAnalogLimit, BrightnessGainCombinedLimit, BrightnessGainDigitalLimit, BrightnessGainHostLimit, BrightnessGainLimit, FocusLimit, Hysteresis, Roi, SearchAlgorithm, SharpnessAlgorithm, SkipFrames, and WeightedRois.

◆ Set()

template<typename T>
virtual void Set ( const T & value)
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.

Parameters
[in]valueThe new value to set for this feature
Exceptions
Implementation-specificexceptions may be thrown if the value is invalid or if the underlying system is in an invalid state.
See also
Get()
Since
1.8

Implemented in AutoPercentile, AutoTarget, AutoTolerance, BrightnessAlgorithm, BrightnessExposureLimit, BrightnessGainAnalogLimit, BrightnessGainCombinedLimit, BrightnessGainDigitalLimit, BrightnessGainHostLimit, BrightnessGainLimit, FocusLimit, Hysteresis, Roi, SearchAlgorithm, SharpnessAlgorithm, SkipFrames, and WeightedRois.


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