ICF 3.0.5.47
Technical documentation of ICF Libraries
iipr::CObjectFeature Class Reference

Implementation of a general image object feature. More...

#include <CObjectFeature.h>

Inheritance diagram for iipr::CObjectFeature:
Collaboration diagram for iipr::CObjectFeature:

Public Types

typedef TWeightedFeatureWrap< i2d::CPosition2dBaseClass
 
- Public Types inherited from iipr::TWeightedFeatureWrap< i2d::CPosition2d >
typedef imeas::CGeneralNumericValue BaseClass
 
typedef i2d::CPosition2d BaseClass2
 
- Public Types inherited from imeas::INumericValue
typedef INumericConstraints::ValueTypeId ValueTypeId
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING ,
  CF_DELEGATED , CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 ,
  SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 
- Public Types inherited from i2d::IObject2d
enum  ChangeFlags { CF_OBJECT_POSITION = 0x6ba340 }
 

Public Member Functions

 CObjectFeature ()
 
 CObjectFeature (double weight, const i2d::CVector2d &position, double angle=0.0, const i2d::CVector2d &scale=i2d::CVector2d(1.0, 1.0))
 
double GetAngle () const
 
i2d::CVector2d GetScale () const
 
QByteArray GetObjectId () const
 
void SetObjectId (const QByteArray &objectId)
 
const i2d::ITransformation2dGetTransformation () const
 
bool IsValueTypeSupported (ValueTypeId valueTypeId, bool editableOnly=false) const override
 
double GetComponentValue (ValueTypeId valueTypeId) const override
 
bool SetComponentValue (ValueTypeId valueTypeId, double value) override
 
bool Serialize (iser::IArchive &archive) override
 Load or store state of this object as a archive stream.
 
bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
 
std::unique_ptr< istd::IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override
 Make a copy of this object.
 
- Public Member Functions inherited from iipr::TWeightedFeatureWrap< i2d::CPosition2d >
 TWeightedFeatureWrap (double weight=1.0)
 
double GetWeight () const
 
void SetWeight (double weight)
 
bool IsValueTypeSupported (ValueTypeId valueTypeId, bool editableOnly=false) const override
 
double GetComponentValue (ValueTypeId valueTypeId) const override
 
bool SetComponentValue (ValueTypeId valueTypeId, double value) override
 
bool Serialize (iser::IArchive &archive) override
 Load or store state of this object as a archive stream.
 
bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
 
std::unique_ptr< istd::IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override
 Make a copy of this object.
 
bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) override
 Reset data to its default state.
 
- Public Member Functions inherited from imeas::CGeneralNumericValue
void RemoveComponentValue (ValueTypeId valueTypeId)
 
void RemoveAllValues ()
 
bool IsValueTypeSupported (ValueTypeId valueTypeId, bool editableOnly=false) const override
 Check if the given value type (or value component) is supported.
 
const imeas::INumericConstraintsGetNumericConstraints () const override
 Get parameter constraints describing possible parameter values.
 
double GetComponentValue (ValueTypeId valueTypeId) const override
 Get access to component value of the given type.
 
bool SetComponentValue (ValueTypeId valueTypeId, double value) override
 Set component value of the given type.
 
bool CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
 Copy this object from another one.
 
- Public Member Functions inherited from imeas::INumericValue
- Public Member Functions inherited from iser::ISerializable
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data.
 
- Public Member Functions inherited from istd::IChangeable
virtual QMutex * GetChangesLock () const
 Get mutex beeing locked during changes, if available.
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction.
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction.
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes.
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes.
 
- Public Member Functions inherited from i2d::CPosition2d
 CPosition2d ()
 
 CPosition2d (const CVector2d &center)
 
const CVector2dGetPosition () const
 
void SetPosition (const CVector2d &position)
 
void Translate (const i2d::CVector2d &vector)
 
CPosition2d GetTranslated (const i2d::CVector2d &vector) const
 
CVector2d GetCenter () const override
 Returns center of this 2D-object.
 
void MoveCenterTo (const CVector2d &position) override
 Move object to position position.
 
CRectangle GetBoundingBox () const override
 Get bounding box of this shape.
 
bool Transform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) override
 Transform this object using some transformation.
 
bool InvTransform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) override
 Do inverse transformation of this object.
 
bool GetTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) const override
 Calulate transformation of the object into second one.
 
bool GetInvTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=nullptr) const override
 Calulate inverse transformation of the object into second one.
 
QByteArray GetFactoryId () const override
 
int GetSupportedOperations () const override
 Get set of flags for supported operations.
 
bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
 
bool IsEqual (const istd::IChangeable &object) const override
 Compare this object with another object.
 
- Public Member Functions inherited from i2d::CObject2dBase
 CObject2dBase ()
 
 CObject2dBase (const CObject2dBase &object2d)
 
 CObject2dBase (CObject2dBase &&object2d)
 
const ICalibration2dGetCalibration () const override
 Get access to transformation object, which transforms a local logical coordinate system to global one.
 
void SetCalibration (istd::TOptDelPtr< const ICalibration2d > &&calibrationPtr) override
 Set calibration of this object.
 
bool CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
 Copy this object from another one.
 
CObject2dBaseoperator= (const CObject2dBase &object2d)
 
CObject2dBaseoperator= (CObject2dBase &&object2d)
 
- Public Member Functions inherited from i2d::IObject2d
- Public Member Functions inherited from iser::IObject
- Public Member Functions inherited from i2d::ICalibration2dProvider

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 
- Static Public Member Functions inherited from i2d::CPosition2d
static QByteArray GetTypeName ()
 
- Static Public Attributes inherited from imeas::INumericValue
static const ValueTypeId VTI_WEIGHT
 Weight of some value This value should be normalized to range [0, 1].
 
static const ValueTypeId VTI_POSITION_X
 Value of position X.
 
static const ValueTypeId VTI_POSITION_Y
 Value of position Y.
 
static const ValueTypeId VTI_RADIUS
 Value of radius.
 
static const ValueTypeId VTI_OFFSET
 
static const ValueTypeId VTI_SCALE
 Scaling factor.
 
static const ValueTypeId VTI_SCALE_Y
 Scaling factor for Y axis.
 
static const ValueTypeId VTI_ANGLE
 Angle in radian.
 
static const ValueTypeId VTI_ALPHA
 Alpha value (proportion).
 
static const ValueTypeId VTI_LENGTH
 Length or distance.
 
static const ValueTypeId VTI_2D_LINE_X1
 
static const ValueTypeId VTI_2D_LINE_Y1
 
static const ValueTypeId VTI_2D_LINE_X2
 
static const ValueTypeId VTI_2D_LINE_Y2
 
static const ValueTypeId VTI_2D_TRANSFORM_M11
 
static const ValueTypeId VTI_2D_TRANSFORM_M12
 
static const ValueTypeId VTI_2D_TRANSFORM_M13
 
static const ValueTypeId VTI_2D_TRANSFORM_M21
 
static const ValueTypeId VTI_2D_TRANSFORM_M22
 
static const ValueTypeId VTI_2D_TRANSFORM_M23
 
static const ValueTypeId VTI_HSV_H
 
static const ValueTypeId VTI_HSV_S
 
static const ValueTypeId VTI_HSV_V
 
static const ValueTypeId VTI_POSITION_TOLERANCE
 
static const ValueTypeId VTI_VALUE_TOLERANCE
 
static const ValueTypeId VTI_THRESHOLD
 
static const ValueTypeId VTI_COUNT
 
static const ValueTypeId VTI_GRID_SIZE
 
static const ValueTypeId VTI_CELL_SIZE
 
static const ValueTypeId VTI_RGB_R
 
static const ValueTypeId VTI_RGB_G
 
static const ValueTypeId VTI_RGB_B
 
- Protected Types inherited from imeas::CGeneralNumericValue
typedef std::map< imeas::INumericValue::ValueTypeId, double > ComponentsMap
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 
- Protected Attributes inherited from iipr::TWeightedFeatureWrap< i2d::CPosition2d >
double m_weight
 
- Protected Attributes inherited from imeas::CGeneralNumericValue
ComponentsMap m_componentsMap
 
- Protected Attributes inherited from i2d::CPosition2d
CVector2d m_position
 
- Static Protected Attributes inherited from i2d::CObject2dBase
static const ChangeSet s_objectMovedChange
 
static const ChangeSet s_objectModifiedChange
 

Detailed Description

Implementation of a general image object feature.

Definition at line 22 of file CObjectFeature.h.

Member Typedef Documentation

◆ BaseClass

Constructor & Destructor Documentation

◆ CObjectFeature() [1/2]

iipr::CObjectFeature::CObjectFeature ( )

◆ CObjectFeature() [2/2]

iipr::CObjectFeature::CObjectFeature ( double weight,
const i2d::CVector2d & position,
double angle = 0.0,
const i2d::CVector2d & scale = i2d::CVector2d(1.0, 1.0) )

Member Function Documentation

◆ CloneMe()

std::unique_ptr< istd::IChangeable > iipr::CObjectFeature::CloneMe ( CompatibilityMode mode = CM_WITHOUT_REFS) const
overridevirtual

Make a copy of this object.

You may check, if this functionality is supported over GetSupportedOperations().

Returns
new instance or nullptr, if this operation is not supported.

Reimplemented from imeas::CGeneralNumericValue.

Reimplemented in iipr::CSearchFeature.

◆ CopyFrom()

bool iipr::CObjectFeature::CopyFrom ( const IChangeable & object,
CompatibilityMode mode = CM_WITHOUT_REFS )
override

◆ GetAngle()

double iipr::CObjectFeature::GetAngle ( ) const

◆ GetComponentValue()

double iipr::CObjectFeature::GetComponentValue ( ValueTypeId valueTypeId) const
override

◆ GetObjectId()

QByteArray iipr::CObjectFeature::GetObjectId ( ) const

◆ GetScale()

i2d::CVector2d iipr::CObjectFeature::GetScale ( ) const

◆ GetTransformation()

const i2d::ITransformation2d & iipr::CObjectFeature::GetTransformation ( ) const

◆ IsValueTypeSupported()

bool iipr::CObjectFeature::IsValueTypeSupported ( ValueTypeId valueTypeId,
bool editableOnly = false ) const
override

◆ Serialize()

bool iipr::CObjectFeature::Serialize ( iser::IArchive & archive)
overridevirtual

Load or store state of this object as a archive stream.

Type of operation is depending on archive type.

See also
iser::IArchive

Reimplemented from imeas::CGeneralNumericValue.

Reimplemented in iipr::CSearchFeature.

◆ SetComponentValue()

bool iipr::CObjectFeature::SetComponentValue ( ValueTypeId valueTypeId,
double value )
override

◆ SetObjectId()

void iipr::CObjectFeature::SetObjectId ( const QByteArray & objectId)

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

© Witold Gantzke and Kirill Lepskiy