|
ACF $AcfVersion:0$
|
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) |
| Set this transformation to a given translation, rotation and scaling. | |
| void | Reset (const CVector2d &translation, double angle, const CVector2d &scale) |
| 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 17 of file CAffine2d.h.
|
inline |
Constructor, parameters will be not initialized.
Definition at line 212 of file CAffine2d.h.
Referenced by GetTranslated().
|
inline |
Copy constructor, transformation data will be copied from the input object.
Definition at line 219 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 268 of file CAffine2d.h.
References i2d::CMatrix2d::GetMultiplied().
Referenced by iview::CScreenTransform::GetClientPosition().
Get position after this transformation.
Definition at line 277 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 284 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 294 of file CAffine2d.h.
References i2d::CMatrix2d::GetMultiplied().
|
inline |
Get rotation, skew and scale part of this affine transformation.
Definition at line 240 of file CAffine2d.h.
Referenced by i2d::CParallelogram::GetDeformMatrix().
|
inline |
Get internal reference to the transformation matrix.
Definition at line 260 of file CAffine2d.h.
Referenced by GetTranslated().
|
inlinestatic |
Definition at line 355 of file CAffine2d.h.
|
inline |
Get inverted transformation.
Definition at line 329 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 319 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 300 of file CAffine2d.h.
References CAffine2d().
Get some transformation combined with translation.
Definition at line 306 of file CAffine2d.h.
References GetDeformMatrixRef(), and GetTranslationRef().
|
inline |
Get translation part of this affine transformation.
Definition at line 228 of file CAffine2d.h.
|
inline |
Get internal reference to the translation vector.
Definition at line 254 of file CAffine2d.h.
Referenced by GetTranslated().
|
inline |
Definition at line 347 of file CAffine2d.h.
Referenced by iview::CScreenTransform::operator=().
|
inline |
Definition at line 341 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.
Set this transformation to a given translation, rotation and both axis scaling.
| void i2d::CAffine2d::Reset | ( | const CVector2d & | translation, |
| double | angle, | ||
| double | scale = 1.0 |
||
| ) |
Set this transformation to a given translation, rotation and scaling.
| 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 246 of file CAffine2d.h.
Referenced by i2d::CParallelogram::SetDeformMatrix().
|
inline |
Set translation part of this affine transformation.
Definition at line 234 of file CAffine2d.h.
|
inline |
Combine this transformation with translation.
Definition at line 313 of file CAffine2d.h.