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

Implementation of INumericValue interface for caliper based distance measurement feature. More...

#include <CCaliperDistanceFeature.h>

Inheritance diagram for iipr::CCaliperDistanceFeature:
Collaboration diagram for iipr::CCaliperDistanceFeature:

Public Types

typedef iipr::TWeightedFeatureWrap< i2d::CLine2dBaseClass
 
- Public Types inherited from iipr::TWeightedFeatureWrap< i2d::CLine2d >
typedef imeas::CGeneralNumericValue BaseClass
 
typedef i2d::CLine2d 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

 CCaliperDistanceFeature (const i2d::CLine2d &caliperLine, double weight)
 
double GetDistance () const
 
bool IsValueTypeSupported (ValueTypeId valueTypeId, bool editableOnly=false) const override
 
double GetComponentValue (ValueTypeId valueTypeId) const override
 
bool SetComponentValue (ValueTypeId valueTypeId, double value) override
 
- Public Member Functions inherited from iipr::TWeightedFeatureWrap< i2d::CLine2d >
 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 bool IsEqual (const IChangeable &object) const
 Compare this object with another object.
 
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::CLine2d
 CLine2d ()
 
 CLine2d (const CVector2d &p1, const CVector2d &p2)
 
 CLine2d (double x1, double y1, double x2, double y2)
 
bool operator== (const CLine2d &line) const
 
bool operator!= (const CLine2d &line) const
 
bool IsNull () const
 Returns true, if the line has a length equal 0.
 
const CVector2dGetPoint1 () const
 Get value of first line point.
 
CVector2dGetPoint1Ref ()
 Get reference to first line point.
 
void SetPoint1 (const CVector2d &point)
 Set value of first line point.
 
const CVector2dGetPoint2 () const
 Get value of second line point.
 
CVector2dGetPoint2Ref ()
 Get reference to second line point.
 
void SetPoint2 (const CVector2d &point)
 Set value of second line point.
 
double GetSlope () const
 Get slope of this line.
 
double GetIntercept () const
 Get intercept of this line.
 
bool IsParallel (const CLine2d &line) const
 Check if this line is parallel to another one.
 
bool IsIntersectedBy (const CLine2d &line) const
 Check if two lines intersect.
 
bool GetIntersection (const CLine2d &line, CVector2d &result) const
 Get intersection position of two lines.
 
bool GetExtendedIntersection (const CLine2d &line, CVector2d &result) const
 Get intersection position of extended lines.
 
double GetDistance (const CVector2d &position) const
 Get distance from nearest point of this line to specified position.
 
double GetMaxDistance (const CVector2d &position) const
 Get maximal distance from points of this line to specified position.
 
double GetExtendedDistance (const CVector2d &position) const
 Get distance from nearest point of extended line to specified position.
 
CVector2d GetPositionFromAlpha (double alpha) const
 Get position of point using normed 'alpha' value.
 
CVector2d GetDiffVector () const
 Get difference vector from point 1 to point 2.
 
double GetLength () const
 Get distance between line points.
 
double GetLength2 () const
 Get quadratic distance between line points.
 
double GetDirectionAngle () const
 Get direction angle of this line.
 
CLine2d GetClipped (const CRectangle &rect) const
 Get part of line intersecting specified rectangle.
 
CLine2d GetSwapped () const
 Get the line with replaced points (p1 = p2 and p2 = p1)
 
double GetCutXPos (double linePosY) const
 Get Y position of cutting this line by specified horizontal line.
 
double GetCutYPos (double linePosX) const
 Get X position of cutting this line by specified vertical line.
 
void PushBeginPoint (const i2d::CVector2d &newBeginPoint)
 Copy begin point to end point and set new begin point.
 
void PushEndPoint (const i2d::CVector2d &newEndPoint)
 Copy end point to begin point and set new end point.
 
void PushBeginPointQuiet (const i2d::CVector2d &newBeginPoint)
 Quiet methods do not trigger any notification changes (to be used inside of algorithms)
 
void PushEndPointQuiet (const i2d::CVector2d &newEndPoint)
 
void SetPoint1Quiet (const CVector2d &point)
 
void SetPoint2Quiet (const CVector2d &point)
 
double GetCutAlpha (const CLine2d &line) const
 Get a proportion of lines cut point to line length (called also 'alpha value').
 
double GetCastAlpha (const i2d::CVector2d &point) const
 
std::tuple< double, double > GetAlphaAndCastDistance (const i2d::CVector2d &point) const
 Get projection position 'alpha value' and orthogonal distance to line.
 
bool GetCutPoint (const CLine2d &otherLine, i2d::CVector2d &cutPoint) const
 Get position where this line intersects the second one.
 
i2d::CVector2d GetNearestPoint (const i2d::CVector2d &point) const
 Return a line point, which is the nearest to the specified point.
 
i2d::CVector2d GetExtendedNearestPoint (const i2d::CVector2d &point) const
 Return a point on the straight line in a mathematical sense, which is the nearest to the specified point.
 
CLine2d GetShortestEndConnection (const CLine2d &line) const
 Return a line, which connects the nearest end points of two lines.
 
CLine2d GetShortestConnectionToNext (const CLine2d &line) const
 Return a line, which connects the nearest points of two lines.
 
CLine2d GetShortestConnection (const i2d::CVector2d &point) const
 Return a line, which connects the nearest point of line and specified point.
 
CLine2d GetShortestConnection (const CLine2d &line) const
 Return a line, which connects the nearest points of two lines.
 
bool ApproxFromPoints (const QSet< i2d::CVector2d > &points)
 Calculate this line as approximation of set of points.
 
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
 
- 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 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.
 
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::CLine2d
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::CLine2d >
double m_weight
 
- Protected Attributes inherited from imeas::CGeneralNumericValue
ComponentsMap m_componentsMap
 
- Static Protected Attributes inherited from i2d::CObject2dBase
static const ChangeSet s_objectMovedChange
 
static const ChangeSet s_objectModifiedChange
 

Detailed Description

Implementation of INumericValue interface for caliper based distance measurement feature.

Definition at line 22 of file CCaliperDistanceFeature.h.

Member Typedef Documentation

◆ BaseClass

Constructor & Destructor Documentation

◆ CCaliperDistanceFeature()

iipr::CCaliperDistanceFeature::CCaliperDistanceFeature ( const i2d::CLine2d & caliperLine,
double weight )

Member Function Documentation

◆ GetComponentValue()

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

◆ GetDistance()

double iipr::CCaliperDistanceFeature::GetDistance ( ) const

◆ IsValueTypeSupported()

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

◆ SetComponentValue()

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

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

© Witold Gantzke and Kirill Lepskiy