|
ACF $AcfVersion:0$
|
Represents a circular arc defined by a center point, radius, and start/end angles. More...
#include <CArc.h>
Public Types | |
| typedef CCircle | BaseClass |
Public Types inherited from i2d::CCircle | |
| typedef CPosition2d | BaseClass |
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 |
Public Member Functions | |
| CArc () | |
| Construct an empty arc object. | |
| CArc (double startAngle, double endAngle, const double radius, const CVector2d ¢er) | |
| Construct an arc with specified parameters. | |
| double | GetStartAngle () const |
| Get the starting angle of the arc. | |
| void | SetStartAngle (double angle) |
| Set the starting angle of the arc. | |
| double | GetEndAngle () const |
| Get the ending angle of the arc. | |
| void | SetEndAngle (double angle) |
| Set the ending angle of the arc. | |
| bool | operator== (const CArc &arc) const |
| Compare this arc with another arc for equality. | |
| bool | operator!= (const CArc &arc) const |
| Compare this arc with another arc for inequality. | |
| CVector2d | GetPositionFromAlpha (double alpha) const |
| Get position of point using normed 'alpha' value. | |
| 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 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. | |
| virtual bool | Serialize (iser::IArchive &archive) override |
| Load or store state of this object as a archive stream. | |
Public Member Functions inherited from i2d::CCircle | |
| CCircle () | |
| CCircle (double radius, const CVector2d ¢er) | |
| double | GetRadius () const |
| void | SetRadius (double radius) |
| bool | operator== (const CCircle &circle) const |
| bool | operator!= (const CCircle &circle) const |
| virtual bool | ConvertToPolygon (i2d::CPolygon &result, int segmentsCount=0) const |
| Performs conversion of the circle splitting it to segmentsCount segments to the polygon result. | |
| bool | IsIntersectedBy (const CCircle &circle, bool isFilled=false) const |
| Check if this circle is intersected by another circle (or disk). | |
| bool | IsIntersectedBy (const CLine2d &line, bool isFilled=false) const |
| Check if this circle is intersected by line. | |
| int | GetIntersectionAlphas (const CLine2d &line, double result[2]) const |
| Get points of intersection circle by line. | |
| int | GetIntersectionPoints (const CLine2d &line, i2d::CVector2d &result1, i2d::CVector2d &result2) const |
| Get points of intersection circle by line. | |
| virtual QByteArray | GetFactoryId () const override |
Public Member Functions inherited from i2d::CPosition2d | |
| CPosition2d () | |
| CPosition2d (const CVector2d ¢er) | |
| const CVector2d & | GetPosition () const |
| void | SetPosition (const CVector2d &position) |
| void | Translate (const i2d::CVector2d &vector) |
| CPosition2d | GetTranslated (const i2d::CVector2d &vector) const |
| virtual CVector2d | GetCenter () const override |
| Returns center of this 2D-object. | |
| virtual void | MoveCenterTo (const CVector2d &position) override |
Move object to position position. | |
| virtual bool | IsEqual (const istd::IChangeable &object) const override |
| Compare this object with another 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 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 istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
Protected Attributes | |
| double | m_startAngle |
| double | m_endAngle |
Protected Attributes inherited from i2d::CCircle | |
| double | m_radius |
Protected Attributes inherited from i2d::CPosition2d | |
| CVector2d | m_position |
Additional Inherited Members | |
Static Public Member Functions inherited from i2d::CCircle | |
| static QByteArray | GetTypeName () |
Static Public Member Functions inherited from i2d::CPosition2d | |
| static QByteArray | GetTypeName () |
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. | |
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. | |
Static Protected Attributes inherited from i2d::CObject2dBase | |
| static const ChangeSet | s_objectMovedChange |
| static const ChangeSet | s_objectModifiedChange |
Represents a circular arc defined by a center point, radius, and start/end angles.
An arc is a portion of a circle's circumference between two angles.
| typedef CCircle i2d::CArc::BaseClass |
| i2d::CArc::CArc | ( | ) |
Construct an empty arc object.
| i2d::CArc::CArc | ( | double | startAngle, |
| double | endAngle, | ||
| const double | radius, | ||
| const CVector2d & | center | ||
| ) |
Construct an arc with specified parameters.
| startAngle | Starting angle in radians. |
| endAngle | Ending angle in radians. |
| radius | Radius of the arc. |
| center | Center point of the arc. |
|
overridevirtual |
Make a copy of this object.
Reimplemented from i2d::CCircle.
|
overridevirtual |
Reimplemented from i2d::CCircle.
|
overridevirtual |
Get bounding box of this shape.
Please note, this bounding box is in logical units, the calibration will not be considered.
Reimplemented from i2d::CCircle.
|
inline |
Get the ending angle of the arc.
Definition at line 119 of file CArc.h.
References m_endAngle.
|
overridevirtual |
Calulate inverse transformation of the object into second one.
Please note, that this operation transforms logical coordinates, it means that the calibration will be ignored.
| mode | controls needed transformation exactness. |
| errorFactorPtr | optional output where approximated length of transformation error vector will be stored. Value 0 means that transformation is exactly done. |
| result | result object. |
Reimplemented from i2d::CCircle.
| CVector2d i2d::CArc::GetPositionFromAlpha | ( | double | alpha | ) | const |
Get position of point using normed 'alpha' value.
Value 0 will be mapped to point 1 and value 1 will be mapped to point 2.
|
inline |
Get the starting angle of the arc.
Definition at line 113 of file CArc.h.
References m_startAngle.
|
overridevirtual |
Get set of flags for supported operations.
Reimplemented from i2d::CCircle.
|
overridevirtual |
Calulate transformation of the object into second one.
Please note, that this operation transforms logical coordinates, it means that the calibration will be ignored.
| mode | controls needed transformation exactness. |
| errorFactorPtr | optional output where approximated length of transformation error vector will be stored. Value 0 means that transformation is exactly done. |
| result | result object. |
Reimplemented from i2d::CCircle.
|
overridevirtual |
Do inverse transformation of this object.
Please note, that this operation transforms logical coordinates, it means that the calibration will be ignored.
| mode | controls needed transformation exactness. |
| errorFactorPtr | optional output where approximated length of transformation error vector will be stored. Value 0 means that transformation is exactly done. |
Reimplemented from i2d::CCircle.
| bool i2d::CArc::operator!= | ( | const CArc & | arc | ) | const |
Compare this arc with another arc for inequality.
| arc | Arc to compare with. |
| bool i2d::CArc::operator== | ( | const CArc & | arc | ) | const |
Compare this arc with another arc for equality.
| arc | Arc to compare with. |
|
overridevirtual |
Load or store state of this object as a archive stream.
Type of operation is depending on archive type.
Reimplemented from i2d::CCircle.
| void i2d::CArc::SetEndAngle | ( | double | angle | ) |
Set the ending angle of the arc.
| angle | Ending angle in radians. |
| void i2d::CArc::SetStartAngle | ( | double | angle | ) |
Set the starting angle of the arc.
| angle | Starting angle in radians. |
|
overridevirtual |
Transform this object using some transformation.
Please note, that this operation transforms logical coordinates, it means that the calibration will be ignored.
| mode | controls needed transformation exactness. |
| errorFactorPtr | optional output where approximated length of transformation error vector will be stored. Value 0 means that transformation is exactly done. |
Reimplemented from i2d::CCircle.
|
protected |
Definition at line 107 of file CArc.h.
Referenced by GetEndAngle().
|
protected |
Definition at line 106 of file CArc.h.
Referenced by GetStartAngle().