![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Implementation of a 2D-line as a component. More...
#include <CLine2dComp.h>
Public Types | |
typedef TObject2dCompWrap< CLine2d > | BaseClass |
typedef CLine2dComp | CurrentComponentType |
![]() | |
typedef icomp::CComponentBase | BaseClass |
typedef CLine2d | BaseClass2 |
![]() | |
enum | ChangeFlags { CF_OBJECT_POSITION = 0x6ba340 } |
![]() | |
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 Member Functions | |
virtual const icomp::IRealComponentStaticInfo & | GetComponentStaticInfo () const override |
Get access to static info of this component. | |
![]() | |
CComponentBase () | |
Create component and assign it to specific context. | |
CComponentBase (const CComponentBase &)=delete | |
CComponentBase & | operator= (const CComponentBase &)=delete |
virtual const ICompositeComponent * | GetParentComponent (bool ownerOnly=false) const |
Get parent of this component. | |
virtual void * | GetInterface (const istd::CClassInfo &interfaceType, const QByteArray &subId="") |
Get access to specified component interface. | |
virtual const IComponentContext * | GetComponentContext () const |
Get access to component context describing all application-specified component information loaded from components registry. | |
virtual void | SetComponentContext (const IComponentContext *contextPtr, const ICompositeComponent *parentPtr, bool isParentOwner) |
Set component context of this component. | |
![]() | |
![]() | |
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 |
bool | Serialize (iser::IArchive &archive) override |
Load or store state of this object as a archive stream. | |
int | GetSupportedOperations () const override |
Get set of flags for supported operations. | |
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. | |
![]() | |
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. | |
bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) override |
Reset data to its default state. | |
CObject2dBase & | operator= (const CObject2dBase &object2d) |
CObject2dBase & | operator= (CObject2dBase &&object2d) |
![]() | |
![]() | |
![]() | |
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. | |
![]() |
Static Public Member Functions | |
static const icomp::IRealComponentStaticInfo & | InitStaticInfo (CLine2dComp *componentPtr) |
![]() | |
static QByteArray | GetTypeName () |
![]() | |
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. | |
Protected Member Functions | |
void | OnComponentCreated () override |
![]() | |
void | OnComponentCreated () override |
![]() | |
bool | IsComponentActive () const |
Check if component is active. | |
virtual void | OnComponentDestroyed () |
![]() | |
virtual void | OnBeginChanges () |
Callback function for begin change event. | |
virtual void | OnEndChanges (const ChangeSet &changeSet) |
Callback function for end change event. | |
Additional Inherited Members | |
![]() | |
static const IRealComponentStaticInfo & | InitStaticInfo (IComponent *componentPtr) |
static QByteArray | GetComponentId (const IComponentContext *componentContextPtr, const QByteArray &contextId=QByteArray()) |
![]() | |
static const ChangeSet | s_objectMovedChange |
static const ChangeSet | s_objectModifiedChange |
Implementation of a 2D-line as a component.
It gives the possibility to define a 2D-line model via component attributes.
Definition at line 22 of file CLine2dComp.h.
Definition at line 25 of file CLine2dComp.h.
Definition at line 27 of file CLine2dComp.h.
|
inlineoverridevirtual |
Get access to static info of this component.
Implements icomp::CComponentBase.
Definition at line 33 of file CLine2dComp.h.
|
inlinestatic |
Definition at line 27 of file CLine2dComp.h.
|
overrideprotectedvirtual |
Reimplemented from icomp::CComponentBase.
© Witold Gantzke and Kirill Lepskiy