![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Implementation of INumericValue interface for caliper based distance measurement feature. More...
#include <CCaliperDistanceFeature.h>
Public Types | |
typedef iipr::TWeightedFeatureWrap< i2d::CLine2d > | BaseClass |
![]() | |
typedef imeas::CGeneralNumericValue | BaseClass |
typedef i2d::CLine2d | BaseClass2 |
![]() | |
typedef INumericConstraints::ValueTypeId | ValueTypeId |
![]() | |
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... | |
![]() | |
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 |
![]() | |
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::IChangeable > | CloneMe (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. | |
![]() | |
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::INumericConstraints & | GetNumericConstraints () 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. | |
![]() | |
![]() | |
virtual quint32 | GetMinimalVersion (int versionId) const |
Get minimal needed version to correct storing of this data. | |
![]() | |
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. | |
![]() | |
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 CVector2d & | GetPoint1 () const |
Get value of first line point. | |
CVector2d & | GetPoint1Ref () |
Get reference to first line point. | |
void | SetPoint1 (const CVector2d &point) |
Set value of first line point. | |
const CVector2d & | GetPoint2 () const |
Get value of second line point. | |
CVector2d & | GetPoint2Ref () |
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 |
![]() | |
CObject2dBase () | |
CObject2dBase (const CObject2dBase &object2d) | |
CObject2dBase (CObject2dBase &&object2d) | |
const ICalibration2d * | GetCalibration () 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. | |
CObject2dBase & | operator= (const CObject2dBase &object2d) |
CObject2dBase & | operator= (CObject2dBase &&object2d) |
![]() | |
![]() | |
![]() |
Additional Inherited Members | |
![]() | |
static const ChangeSet & | GetNoChanges () |
Get empty set of changes. | |
static const ChangeSet & | GetAnyChange () |
Get anonymous change set. | |
static const ChangeSet & | GetAllChanges () |
Get anonymous change set. | |
static const ChangeSet & | GetDelegatedChanges () |
Get delegated change set. | |
![]() | |
static QByteArray | GetTypeName () |
![]() | |
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 |
![]() | |
typedef std::map< imeas::INumericValue::ValueTypeId, double > | ComponentsMap |
![]() | |
virtual void | OnBeginChanges () |
Callback function for begin change event. | |
virtual void | OnEndChanges (const ChangeSet &changeSet) |
Callback function for end change event. | |
![]() | |
double | m_weight |
![]() | |
ComponentsMap | m_componentsMap |
![]() | |
static const ChangeSet | s_objectMovedChange |
static const ChangeSet | s_objectModifiedChange |
Implementation of INumericValue interface for caliper based distance measurement feature.
Definition at line 22 of file CCaliperDistanceFeature.h.
Definition at line 25 of file CCaliperDistanceFeature.h.
iipr::CCaliperDistanceFeature::CCaliperDistanceFeature | ( | const i2d::CLine2d & | caliperLine, |
double | weight ) |
|
override |
double iipr::CCaliperDistanceFeature::GetDistance | ( | ) | const |
|
override |
|
override |
© Witold Gantzke and Kirill Lepskiy