|
ACF $AcfVersion:0$
|
Implementation of a 2D-line as a component. More...
#include <CLine2dComp.h>
Public Types | |
| typedef TObject2dCompWrap< CLine2d > | BaseClass |
Public Types inherited from i2d::TObject2dCompWrap< CLine2d > | |
| typedef icomp::CComponentBase | BaseClass |
| typedef CLine2d | BaseClass2 |
Public Types inherited from i2d::IObject2d | |
| enum | ChangeFlags { CF_OBJECT_POSITION = 0x6ba340 } |
Public Types inherited from istd::IChangeable | |
| enum | ChangeFlags { CF_ACF_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 } |
| 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... | |
| typedef QMultiMap< QByteArray, QVariant > | ChangeInfoMap |
Protected Member Functions | |
| virtual void | OnComponentCreated () override |
Protected Member Functions inherited from icomp::CComponentBase | |
| bool | IsComponentActive () const |
| Check if component is active. | |
| virtual void | OnComponentDestroyed () |
| virtual const icomp::IRealComponentStaticInfo & | GetComponentStaticInfo () const =0 |
| Get access to static info of this component. | |
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. | |
Additional Inherited Members | |
Public Member Functions inherited from icomp::CComponentBase | |
| CComponentBase () | |
| Create component and assign it to specific context. | |
| virtual const icomp::IComponent * | GetParentComponent (bool ownerOnly=false) const override |
| Get parent of this component. | |
| virtual void * | GetInterface (const istd::CClassInfo &interfaceType, const QByteArray &subId="") override |
| Get access to specified component interface. | |
| virtual IComponentContextSharedPtr | GetComponentContext () const override |
| Get access to component context describing all application-specified component information loaded from components registry. | |
| virtual void | SetComponentContext (const IComponentContextSharedPtr &contextPtr, const icomp::IComponent *parentPtr, bool isParentOwner) override |
| Set component context of this component. | |
Public Member Functions inherited from istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
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 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 |
| QPair< 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. | |
| virtual CVector2d | GetCenter () const override |
| Returns center of this 2D-object. | |
| virtual void | MoveCenterTo (const CVector2d &position) override |
Move object to position position. | |
| virtual CRectangle | GetBoundingBox () const override |
| Get bounding box of this shape. | |
| virtual bool | Transform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) override |
| Transform this object using some transformation. | |
| virtual bool | InvTransform (const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) override |
| Do inverse transformation of this object. | |
| virtual bool | GetTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const override |
| Calulate transformation of the object into second one. | |
| virtual bool | GetInvTransformed (const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const override |
| Calulate inverse transformation of the object into second one. | |
| virtual QByteArray | GetFactoryId () const override |
| virtual bool | Serialize (iser::IArchive &archive) override |
| Load or store state of this object as a archive stream. | |
| virtual int | GetSupportedOperations () const override |
| Get set of flags for supported operations. | |
| virtual bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
| virtual istd::TUniqueInterfacePtr< istd::IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override |
| Make a copy of this object. | |
Public Member Functions inherited from i2d::CObject2dBase | |
| CObject2dBase () | |
| CObject2dBase (const CObject2dBase &object2d) | |
| CObject2dBase (CObject2dBase &&object2d) | |
| CObject2dBase & | operator= (const CObject2dBase &object2d) |
| CObject2dBase & | operator= (CObject2dBase &&object2d) |
| virtual const ICalibration2d * | GetCalibration () const override |
| Get access to transformation object, which transforms a local logical coordinate system to global one. | |
| virtual void | SetCalibration (const ICalibration2d *calibrationPtr, bool releaseFlag=false) override |
| Set calibration of this object. | |
| virtual bool | CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override |
| Copy this object from another one. | |
| virtual bool | ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) override |
| Reset data to its default state. | |
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 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 inherited from i2d::CLine2d | |
| static QByteArray | GetTypeName () |
| static bool | Intersects (const CVector2d &lhsp1, const CVector2d &lhsp2, const CVector2d &rhsp1, const CVector2d &rhsp2) |
| Check if two lines intersect - a shortcut to avoid the creation of lines, useful in performance-critical places. | |
Static Public Member Functions inherited from istd::IChangeable | |
| 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 Protected Member Functions inherited from icomp::CComponentBase | |
| static const icomp::IRealComponentStaticInfo & | InitStaticInfo (IComponent *componentPtr) |
| static QByteArray | GetComponentId (const icomp::IComponentContext *componentContextPtr, const QByteArray &contextId=QByteArray()) |
Static Protected Attributes inherited from i2d::CObject2dBase | |
| 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 18 of file CLine2dComp.h.
Definition at line 21 of file CLine2dComp.h.
|
overrideprotectedvirtual |
Reimplemented from i2d::TObject2dCompWrap< CLine2d >.