ICF 3.0.5.47
Technical documentation of ICF Libraries
i2d::CLine2dComp Class Reference

Implementation of a 2D-line as a component. More...

#include <CLine2dComp.h>

Inheritance diagram for i2d::CLine2dComp:
Collaboration diagram for i2d::CLine2dComp:

Public Types

typedef TObject2dCompWrap< CLine2dBaseClass
 
typedef CLine2dComp CurrentComponentType
 
- 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_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::IRealComponentStaticInfoGetComponentStaticInfo () const override
 Get access to static info of this component.
 
- Public Member Functions inherited from icomp::CComponentBase
 CComponentBase ()
 Create component and assign it to specific context.
 
 CComponentBase (const CComponentBase &)=delete
 
CComponentBaseoperator= (const CComponentBase &)=delete
 
virtual const ICompositeComponentGetParentComponent (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 IComponentContextGetComponentContext () 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.
 
- Public Member Functions inherited from icomp::IComponent
- 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
 
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::IChangeableCloneMe (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)
 
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.
 
bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS) override
 Reset data to its default state.
 
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 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::ICalibration2dProvider

Static Public Member Functions

static const icomp::IRealComponentStaticInfoInitStaticInfo (CLine2dComp *componentPtr)
 
- Static Public Member Functions inherited from i2d::CLine2d
static QByteArray GetTypeName ()
 
- 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.
 

Protected Member Functions

void OnComponentCreated () override
 
- Protected Member Functions inherited from i2d::TObject2dCompWrap< CLine2d >
void OnComponentCreated () override
 
- Protected Member Functions inherited from icomp::CComponentBase
bool IsComponentActive () const
 Check if component is active.
 
virtual void OnComponentDestroyed ()
 
- 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

- Static Protected Member Functions inherited from icomp::CComponentBase
static const IRealComponentStaticInfoInitStaticInfo (IComponent *componentPtr)
 
static QByteArray GetComponentId (const IComponentContext *componentContextPtr, const QByteArray &contextId=QByteArray())
 
- Static Protected Attributes inherited from i2d::CObject2dBase
static const ChangeSet s_objectMovedChange
 
static const ChangeSet s_objectModifiedChange
 

Detailed Description

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.

Member Typedef Documentation

◆ BaseClass

◆ CurrentComponentType

Member Function Documentation

◆ GetComponentStaticInfo()

virtual const icomp::IRealComponentStaticInfo & i2d::CLine2dComp::GetComponentStaticInfo ( ) const
inlineoverridevirtual

Get access to static info of this component.

Implements icomp::CComponentBase.

Definition at line 33 of file CLine2dComp.h.

◆ InitStaticInfo()

static const icomp::IRealComponentStaticInfo & i2d::CLine2dComp::InitStaticInfo ( CLine2dComp * componentPtr)
inlinestatic

Definition at line 27 of file CLine2dComp.h.

◆ OnComponentCreated()

void i2d::CLine2dComp::OnComponentCreated ( )
overrideprotectedvirtual

Reimplemented from icomp::CComponentBase.


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

© Witold Gantzke and Kirill Lepskiy