![]() |
ICF 3.1.1.10
Technical documentation of ICF Libraries
|
This class defines an affine 2D-transformation. More...
#include <CAffine2d.h>
Public Member Functions | |
| CAffine2d () | |
| Constructor, parameters will be not initialized. | |
| CAffine2d (const CAffine2d &transform) | |
| Copy constructor, transformation data will be copied from the input object. | |
| CAffine2d (const CMatrix2d &deform, const CVector2d &translation=CVector2d(0.0, 0.0)) | |
| Constructs a transform using specified deformation matrix and translation. | |
| CAffine2d (const CVector2d &translation) | |
| Constructs a transform with translation only. | |
| const CVector2d & | GetTranslation () const |
| Get translation part of this affine transformation. | |
| void | SetTranslation (const CVector2d &translation) |
| Set translation part of this affine transformation. | |
| const CMatrix2d & | GetDeformMatrix () const |
| Get rotation, skew and scale part of this affine transformation. | |
| CVector2d | GetScaleVector () const |
| Get scale vector of this affine transformation (right-hand side matrix-vector multiplication assumed, i.e. | |
| CMatrix2d | GetRotationMatrix () const |
| Get rotational part of this affine transformation. | |
| void | SetDeformMatrix (const CMatrix2d &deform) |
| Set rotation, skew and scale part of this affine transformation. | |
| CVector2d & | GetTranslationRef () |
| Get internal reference to the translation vector. | |
| CMatrix2d & | GetDeformMatrixRef () |
| Get internal reference to the transformation matrix. | |
| void | Reset () |
| Set to identity transformation. | |
| void | Reset (const CVector2d &translation) |
| Set this transformation to translation. | |
| void | Reset (const CVector2d &translation, double angle, double scale=1.0, bool isPosDef=true) |
| Set this transformation to a given translation, rotation and scaling. | |
| void | Reset (const CVector2d &translation, double angle, const CVector2d &scale, bool isPosDef=true) |
| Set this transformation to a given translation, rotation and both axis scaling. | |
| CVector2d | GetApply (const CVector2d &position) const |
| Calculate transformed position. | |
| void | GetApply (const CVector2d &position, CVector2d &result) const |
| Get position after this transformation. | |
| CVector2d | GetApplyToDelta (const CVector2d &delta) const |
| Get difference vector after this transformation. | |
| void | GetApplyToDelta (const CVector2d &delta, CVector2d &result) const |
| Get vector after this transformation. | |
| CAffine2d | GetApply (const CAffine2d &transform) const |
| Get combined transformation. | |
| void | GetApply (const CAffine2d &transform, CAffine2d &result) const |
| Get combined transformation. | |
| void | Apply (const CAffine2d &transform) |
| Combine this transformation with another transformation. | |
| void | ApplyLeft (const CAffine2d &transform) |
| Combine this transformation with another transformation on the left side. | |
| CVector2d | GetInvertedApply (const CVector2d &position) const |
| Inverted operation to GetApply(). | |
| bool | GetInvertedApply (const CVector2d &position, CVector2d &result) const |
| Inverted operation to GetApply(). | |
| CAffine2d | GetTranslated (const CVector2d &delta) const |
| Get some transformation combined with translation. | |
| void | GetTranslated (const CVector2d &delta, CAffine2d &result) const |
| Get some transformation combined with translation. | |
| void | Translate (const CVector2d &delta) |
| Combine this transformation with translation. | |
| CAffine2d | GetInverted () const |
| Get inverted transformation. | |
| bool | GetInverted (CAffine2d &result) const |
| Get inverted transformation. | |
| bool | Serialize (iser::IArchive &archive) |
| Serialize transformation parameters into/from archive. | |
| bool | operator== (const CAffine2d &transform) const |
| bool | operator!= (const CAffine2d &transform) const |
| CAffine2d & | operator= (const CAffine2d &transform) |
Static Public Member Functions | |
| static const CAffine2d & | GetIdentity () |
This class defines an affine 2D-transformation.
Definition at line 21 of file CAffine2d.h.
|
inline |
Constructor, parameters will be not initialized.
Definition at line 224 of file CAffine2d.h.
Referenced by GetTranslated().
|
inline |
Copy constructor, transformation data will be copied from the input object.
Definition at line 231 of file CAffine2d.h.
|
explicit |
Constructs a transform using specified deformation matrix and translation.
|
explicit |
Constructs a transform with translation only.
| void i2d::CAffine2d::Apply | ( | const CAffine2d & | transform | ) |
Combine this transformation with another transformation.
| transform | local transformation used on right side of transformation multiplication. |
Referenced by iview::CScreenTransform::Apply().
| void i2d::CAffine2d::ApplyLeft | ( | const CAffine2d & | transform | ) |
Combine this transformation with another transformation on the left side.
| transform | local transformation used on left side of transformation multiplication. |
Get combined transformation.
| transform | local transformation used on the right side of transformation multiplication. |
Get combined transformation.
| transform | local transformation used on the right side of transformation multiplication. |
Calculate transformed position.
Definition at line 280 of file CAffine2d.h.
References i2d::CMatrix2d::GetMultiplied().
Referenced by iview::CScreenTransform::GetClientPosition().
Get position after this transformation.
Definition at line 289 of file CAffine2d.h.
References i2d::CMatrix2d::GetMultiplied().
Get difference vector after this transformation.
Please note that the translation will be not considered for this transformation.
Definition at line 296 of file CAffine2d.h.
References i2d::CMatrix2d::GetMultiplied().
Get vector after this transformation.
Please note that the translation will be not considered for this transformation.
Definition at line 306 of file CAffine2d.h.
References i2d::CMatrix2d::GetMultiplied().
|
inline |
Get rotation, skew and scale part of this affine transformation.
Definition at line 252 of file CAffine2d.h.
Referenced by i2d::CParallelogram::GetDeformMatrix().
|
inline |
Get internal reference to the transformation matrix.
Definition at line 272 of file CAffine2d.h.
Referenced by GetTranslated().
|
inlinestatic |
Definition at line 367 of file CAffine2d.h.
|
inline |
Get inverted transformation.
Definition at line 341 of file CAffine2d.h.
References GetInverted().
Referenced by iview::CScreenTransform::CalculateInvert(), and GetInverted().
| bool i2d::CAffine2d::GetInverted | ( | CAffine2d & | result | ) | const |
Get inverted transformation.
Inverted operation to GetApply().
Definition at line 331 of file CAffine2d.h.
References GetInvertedApply().
Referenced by GetInvertedApply().
Inverted operation to GetApply().
| CMatrix2d i2d::CAffine2d::GetRotationMatrix | ( | ) | const |
Get rotational part of this affine transformation.
| CVector2d i2d::CAffine2d::GetScaleVector | ( | ) | const |
Get scale vector of this affine transformation (right-hand side matrix-vector multiplication assumed, i.e.
deformation matrix D = R * S. Here D is the deformation matrix, R - rotation matrix, S - scale diagonal matrix
Get some transformation combined with translation.
Definition at line 312 of file CAffine2d.h.
References CAffine2d().
Get some transformation combined with translation.
Definition at line 318 of file CAffine2d.h.
References GetDeformMatrixRef(), and GetTranslationRef().
|
inline |
Get translation part of this affine transformation.
Definition at line 240 of file CAffine2d.h.
|
inline |
Get internal reference to the translation vector.
Definition at line 266 of file CAffine2d.h.
Referenced by GetTranslated().
|
inline |
Definition at line 359 of file CAffine2d.h.
Referenced by iview::CScreenTransform::operator=().
|
inline |
Definition at line 353 of file CAffine2d.h.
| void i2d::CAffine2d::Reset | ( | ) |
Set to identity transformation.
Referenced by iview::CScreenTransform::Reset(), iview::CScreenTransform::Reset(), iview::CScreenTransform::Reset(), and iview::CScreenTransform::Reset().
| void i2d::CAffine2d::Reset | ( | const CVector2d & | translation | ) |
Set this transformation to translation.
| void i2d::CAffine2d::Reset | ( | const CVector2d & | translation, |
| double | angle, | ||
| const CVector2d & | scale, | ||
| bool | isPosDef = true ) |
Set this transformation to a given translation, rotation and both axis scaling.
| translation | translation of transformation. |
| angle | angle of transformation. |
| scale | scale of both axis of transformation. |
| isPosDef | indicate if the matrix of transformation is positive-defined, if not than the vertical direction will be mirrored. |
| void i2d::CAffine2d::Reset | ( | const CVector2d & | translation, |
| double | angle, | ||
| double | scale = 1.0, | ||
| bool | isPosDef = true ) |
Set this transformation to a given translation, rotation and scaling.
| translation | translation of transformation. |
| angle | angle of transformation. |
| scale | scale of both axis of transformation. |
| isPosDef | indicate if the matrix of transformation is positive-defined, if not than the vertical direction will be mirrored. |
| bool i2d::CAffine2d::Serialize | ( | iser::IArchive & | archive | ) |
Serialize transformation parameters into/from archive.
|
inline |
Set rotation, skew and scale part of this affine transformation.
Definition at line 258 of file CAffine2d.h.
Referenced by i2d::CParallelogram::SetDeformMatrix().
|
inline |
Set translation part of this affine transformation.
Definition at line 246 of file CAffine2d.h.
|
inline |
Combine this transformation with translation.
Definition at line 325 of file CAffine2d.h.
© Witold Gantzke and Kirill Lepskiy