|
ACF $AcfVersion:0$
|
Definition of rectangle area orthogonal to axis of coordination system. More...
#include <CRectangle.h>
Public Member Functions | |
| CRectangle () | |
| CRectangle (double left, double top, double width, double height) | |
| CRectangle (const CVector2d &topLeft, const CVector2d &bottomRight) | |
| CRectangle (const istd::CRange &horizontalRange, const istd::CRange &verticalRange) | |
| CRectangle (const i2d::CRect &rect) | |
| CRectangle (const istd::CIndex2d &size) | |
| bool | IsValid () const |
Return true if the rectangle is valid. | |
| bool | IsEmpty () const |
Return true if the rectangle is empty. | |
| bool | IsValidNonEmpty () const |
Return true if the rectangle is valid and it is not empty. | |
| void | Reset () |
| Make rectangle empty. | |
| double | GetLeft () const |
| Get value of left boundary. | |
| void | SetLeft (double left) |
| Set value of left boundary. | |
| double | GetTop () const |
| Get value of top boundary. | |
| void | SetTop (double top) |
| Set value of top boundary. | |
| double | GetRight () const |
| Get value of right boundary. | |
| void | SetRight (double right) |
| Set value of right boundary. | |
| double | GetBottom () const |
| Get value of bottom boundary. | |
| void | SetBottom (double bottom) |
| Set value of bottom boundary. | |
| const istd::CRange & | GetHorizontalRange () const |
| Get values of horizontal boundaries. | |
| istd::CRange & | GetHorizontalRangeRef () |
| Get values of horizontal boundaries as reference. | |
| void | SetHorizontalRange (const istd::CRange &range) |
| Set values of horizontal boundaries. | |
| const istd::CRange & | GetVerticalRange () const |
| Get values of vertical boundaries. | |
| istd::CRange & | GetVerticalRangeRef () |
| Get values of vertical boundaries as reference. | |
| void | SetVerticalRange (const istd::CRange &range) |
| Set values of vertical boundaries. | |
| CVector2d | GetLeftTop () const |
| Get left-top point of this rectangle. | |
| void | SetTopLeft (const CVector2d &topLeft) |
| Set left-top point of this rectangle. | |
| CVector2d | GetRightTop () const |
| Get right-top point of this rectangle. | |
| void | SetTopRight (const CVector2d &topRight) |
| Set right-top point of this rectangle. | |
| CVector2d | GetLeftBottom () const |
| Get left-bottom point of this rectangle. | |
| void | SetBottomLeft (const CVector2d &bottomLeft) |
| Set left-bottom point of this rectangle. | |
| CVector2d | GetRightBottom () const |
| Get right-bottom point of this rectangle. | |
| void | SetBottomRight (const CVector2d &bottomRight) |
| Set right-bottom point of this rectangle. | |
| CVector2d | GetLeftCenter () const |
| Get point in center of left edge. | |
| CVector2d | GetRightCenter () const |
| Get point in center of right edge. | |
| CVector2d | GetTopCenter () const |
| Get point in center of top edge. | |
| CVector2d | GetBottomCenter () const |
| Get point in center of bottom edge. | |
| bool | Contains (const CVector2d &point) const |
| Check if some point is contained in this rectangle. | |
| bool | Contains (const istd::CIndex2d &point) const |
| Check if some point is contained in this rectangle. | |
| bool | Contains (const CRectangle &rect) const |
| Check if some rectangle is fully contained in this rectangle. | |
| double | GetWidth () const |
| Get width of this rectangle. | |
| double | GetHeight () const |
| Get height of this rectangle. | |
| CVector2d | GetSize () const |
| Get size of this rectangle. | |
| bool | IsIntersectedBy (const CRectangle &rect) const |
Returns true, if this rectangle is intersected by the other rectangle rect. | |
| bool | IsIntersectedBy (const CLine2d &line) const |
Returns true, if this rectangle is intersected by the line rect. | |
| CRectangle | GetIntersection (const CRectangle &rect) const |
Get resulting rectangle of the intersection of this rectangle with rect. | |
| CLine2d | GetIntersection (const CLine2d &line) const |
Get resulting line of the intersection of this rectangle with the line line. | |
| void | Intersect (const CRectangle &rectangle) |
| Set new rectangle as intersection of the current rectangle with a given one. | |
| CRectangle | GetUnion (const CRectangle &rect) const |
| Get union of two rectangles. | |
| void | Unite (const CRectangle &rect) |
| Set this rectangle to union of two rectangles. | |
| CRectangle | GetUnion (const i2d::CVector2d &position) const |
| Get union of this rectangle and point. | |
| void | Unite (const i2d::CVector2d &position) |
| Set this rectangle to union of rectangle and point. | |
| CRectangle | GetExpanded (const CRectangle &rect) const |
| Get expanded rectangle (simple sum of boundary values). | |
| void | Expand (const CRectangle &rect) |
| Expand rectangle. | |
| double | GetDistance (const CVector2d &position) const |
| Get distance from nearest point of this rectangle to specified position. | |
| double | GetMaxDistance (const CVector2d &position) const |
| Get maximal distance from points of this rectangle to specified position. | |
| CVector2d | GetNearestPointTo (const CVector2d &point) const |
| Get the nearest point in the rectangle for the some given point. | |
| void | Translate (const i2d::CVector2d &delta) |
| CRectangle | GetTranslated (const i2d::CVector2d &delta) const |
| bool | operator== (const CRectangle &rect) const |
| bool | operator!= (const CRectangle &rect) const |
| operator QRectF () 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 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. | |
Public Member Functions inherited from istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
Static Public Member Functions | |
| static QByteArray | GetTypeName () |
| static const i2d::CRectangle & | GetEmpty () |
| Get empty rectangle with all values set to 0. | |
| static const i2d::CRectangle & | GetInvalid () |
| Get invalid rectangle. | |
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. | |
Additional Inherited Members | |
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 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 |
Definition of rectangle area orthogonal to axis of coordination system.
Definition at line 26 of file CRectangle.h.
| i2d::CRectangle::CRectangle | ( | ) |
| i2d::CRectangle::CRectangle | ( | double | left, |
| double | top, | ||
| double | width, | ||
| double | height | ||
| ) |
| i2d::CRectangle::CRectangle | ( | const istd::CRange & | horizontalRange, |
| const istd::CRange & | verticalRange | ||
| ) |
| i2d::CRectangle::CRectangle | ( | const i2d::CRect & | rect | ) |
|
explicit |
|
overridevirtual |
Make a copy of this object.
Reimplemented from istd::IChangeable.
| bool i2d::CRectangle::Contains | ( | const CRectangle & | rect | ) | const |
Check if some rectangle is fully contained in this rectangle.
The calibration will be ignored.
| bool i2d::CRectangle::Contains | ( | const CVector2d & | point | ) | const |
Check if some point is contained in this rectangle.
| bool i2d::CRectangle::Contains | ( | const istd::CIndex2d & | point | ) | const |
Check if some point is contained in this rectangle.
|
overridevirtual |
| void i2d::CRectangle::Expand | ( | const CRectangle & | rect | ) |
Expand rectangle.
This expanded rectangle is simple sum of boundary values.
|
inline |
Get value of bottom boundary.
Definition at line 353 of file CRectangle.h.
References istd::TRange< ValueType >::GetMaxValue().
Referenced by i2d::CRect::CRect().
| CVector2d i2d::CRectangle::GetBottomCenter | ( | ) | const |
Get point in center of bottom edge.
|
overridevirtual |
Get bounding box of this shape.
Please note, this bounding box is in logical units, the calibration will not be considered.
Implements i2d::IObject2d.
|
overridevirtual |
Returns center of this 2D-object.
Implements i2d::IObject2d.
| double i2d::CRectangle::GetDistance | ( | const CVector2d & | position | ) | const |
Get distance from nearest point of this rectangle to specified position.
|
inlinestatic |
Get empty rectangle with all values set to 0.
Definition at line 385 of file CRectangle.h.
| CRectangle i2d::CRectangle::GetExpanded | ( | const CRectangle & | rect | ) | const |
Get expanded rectangle (simple sum of boundary values).
|
overridevirtual |
Reimplemented from iser::IObject.
| double i2d::CRectangle::GetHeight | ( | ) | const |
Get height of this rectangle.
|
inline |
Get values of horizontal boundaries.
Definition at line 359 of file CRectangle.h.
|
inline |
Get values of horizontal boundaries as reference.
Please use update notificators (like istd::CChangeNotifier) to be sure that obervers will be updated correctly.
Definition at line 365 of file CRectangle.h.
Get resulting line of the intersection of this rectangle with the line line.
| CRectangle i2d::CRectangle::GetIntersection | ( | const CRectangle & | rect | ) | const |
Get resulting rectangle of the intersection of this rectangle with rect.
|
inlinestatic |
Get invalid rectangle.
Definition at line 391 of file CRectangle.h.
|
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::CObject2dBase.
|
inline |
Get value of left boundary.
Definition at line 335 of file CRectangle.h.
References istd::TRange< ValueType >::GetMinValue().
Referenced by i2d::CRect::CRect().
| CVector2d i2d::CRectangle::GetLeftBottom | ( | ) | const |
Get left-bottom point of this rectangle.
| CVector2d i2d::CRectangle::GetLeftCenter | ( | ) | const |
Get point in center of left edge.
| CVector2d i2d::CRectangle::GetLeftTop | ( | ) | const |
Get left-top point of this rectangle.
| double i2d::CRectangle::GetMaxDistance | ( | const CVector2d & | position | ) | const |
Get maximal distance from points of this rectangle to specified position.
Get the nearest point in the rectangle for the some given point.
|
inline |
Get value of right boundary.
Definition at line 347 of file CRectangle.h.
References istd::TRange< ValueType >::GetMaxValue().
Referenced by i2d::CRect::CRect().
| CVector2d i2d::CRectangle::GetRightBottom | ( | ) | const |
Get right-bottom point of this rectangle.
| CVector2d i2d::CRectangle::GetRightCenter | ( | ) | const |
Get point in center of right edge.
| CVector2d i2d::CRectangle::GetRightTop | ( | ) | const |
Get right-top point of this rectangle.
| CVector2d i2d::CRectangle::GetSize | ( | ) | const |
Get size of this rectangle.
|
overridevirtual |
Get set of flags for supported operations.
Reimplemented from istd::IChangeable.
|
inline |
Get value of top boundary.
Definition at line 341 of file CRectangle.h.
References istd::TRange< ValueType >::GetMinValue().
Referenced by i2d::CRect::CRect().
| CVector2d i2d::CRectangle::GetTopCenter | ( | ) | const |
Get point in center of top edge.
|
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::CObject2dBase.
| CRectangle i2d::CRectangle::GetTranslated | ( | const i2d::CVector2d & | delta | ) | const |
|
static |
| CRectangle i2d::CRectangle::GetUnion | ( | const CRectangle & | rect | ) | const |
Get union of two rectangles.
Union of rectangles is the smallest rectangle containing both. The calibration will be ignored.
| CRectangle i2d::CRectangle::GetUnion | ( | const i2d::CVector2d & | position | ) | const |
Get union of this rectangle and point.
This is the smallest rectangle containing both elements.
|
inline |
Get values of vertical boundaries.
Definition at line 371 of file CRectangle.h.
|
inline |
Get values of vertical boundaries as reference.
Please use update notificators (like istd::CChangeNotifier) to be sure that obervers will be updated correctly.
Definition at line 377 of file CRectangle.h.
| double i2d::CRectangle::GetWidth | ( | ) | const |
Get width of this rectangle.
| void i2d::CRectangle::Intersect | ( | const CRectangle & | rectangle | ) |
Set new rectangle as intersection of the current rectangle with a given one.
|
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::CObject2dBase.
| bool i2d::CRectangle::IsEmpty | ( | ) | const |
Return true if the rectangle is empty.
| bool i2d::CRectangle::IsIntersectedBy | ( | const CLine2d & | line | ) | const |
Returns true, if this rectangle is intersected by the line rect.
Rectangle is intersected, if there is any point belonging to line and rectangle (filled).
| bool i2d::CRectangle::IsIntersectedBy | ( | const CRectangle & | rect | ) | const |
Returns true, if this rectangle is intersected by the other rectangle rect.
| bool i2d::CRectangle::IsValid | ( | ) | const |
Return true if the rectangle is valid.
| bool i2d::CRectangle::IsValidNonEmpty | ( | ) | const |
Return true if the rectangle is valid and it is not empty.
|
overridevirtual |
Move object to position position.
Implements i2d::IObject2d.
| i2d::CRectangle::operator QRectF | ( | ) | const |
| bool i2d::CRectangle::operator!= | ( | const CRectangle & | rect | ) | const |
| bool i2d::CRectangle::operator== | ( | const CRectangle & | rect | ) | const |
| void i2d::CRectangle::Reset | ( | ) |
Make rectangle empty.
|
overridevirtual |
Load or store state of this object as a archive stream.
Type of operation is depending on archive type.
Implements iser::ISerializable.
| void i2d::CRectangle::SetBottom | ( | double | bottom | ) |
Set value of bottom boundary.
| void i2d::CRectangle::SetBottomLeft | ( | const CVector2d & | bottomLeft | ) |
Set left-bottom point of this rectangle.
| void i2d::CRectangle::SetBottomRight | ( | const CVector2d & | bottomRight | ) |
Set right-bottom point of this rectangle.
| void i2d::CRectangle::SetHorizontalRange | ( | const istd::CRange & | range | ) |
Set values of horizontal boundaries.
| void i2d::CRectangle::SetLeft | ( | double | left | ) |
Set value of left boundary.
| void i2d::CRectangle::SetRight | ( | double | right | ) |
Set value of right boundary.
| void i2d::CRectangle::SetTop | ( | double | top | ) |
Set value of top boundary.
| void i2d::CRectangle::SetTopLeft | ( | const CVector2d & | topLeft | ) |
Set left-top point of this rectangle.
| void i2d::CRectangle::SetTopRight | ( | const CVector2d & | topRight | ) |
Set right-top point of this rectangle.
| void i2d::CRectangle::SetVerticalRange | ( | const istd::CRange & | range | ) |
Set values of vertical boundaries.
|
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::CObject2dBase.
| void i2d::CRectangle::Translate | ( | const i2d::CVector2d & | delta | ) |
| void i2d::CRectangle::Unite | ( | const CRectangle & | rect | ) |
Set this rectangle to union of two rectangles.
The calibration will be ignored.
| void i2d::CRectangle::Unite | ( | const i2d::CVector2d & | position | ) |
Set this rectangle to union of rectangle and point.
This union is the smallest rectangle containing both elements.