7#include <QtCore/QVector>
53 double* errorFactorPtr =
NULL)
override;
57 double* errorFactorPtr =
NULL)
override;
62 double* errorFactorPtr =
NULL)
const override;
67 double* errorFactorPtr =
NULL)
const override;
This class defines an affine 2D-transformation.
void SetDeformMatrix(const CMatrix2d &deform)
Set rotation, skew and scale part of this affine transformation.
const CMatrix2d & GetDeformMatrix() const
Get rotation, skew and scale part of this affine transformation.
Base class for 2D-objects implementing interface i2d::IObject2d.
This class defines parallelogram.
virtual int GetSupportedOperations() const override
Get set of flags for supported operations.
virtual i2d::CVector2d GetCenter(const i2d::CMatrix2d &deformMatrix) const
virtual void SetTransform(const i2d::CAffine2d &transform)
i2d::CVector2d GetTranslation() const
virtual const i2d::CAffine2d & GetTransform() const
virtual bool GetInvTransformed(const i2d::ITransformation2d &transformation, i2d::IObject2d &result, i2d::ITransformation2d::ExactnessMode mode=i2d::ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const override
Calulate inverse transformation of the object into second one.
virtual i2d::CRectangle GetBoundingBox() const override
Get bounding box of this shape.
virtual i2d::CVector2d GetCenter() const override
Returns center of this 2D-object.
virtual bool CopyFrom(const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
QVector< i2d::CVector2d > GetNodes() const
void SetRotation(double angle)
virtual const i2d::CMatrix2d & GetDeformMatrix() const
virtual bool Transform(const i2d::ITransformation2d &transformation, i2d::ITransformation2d::ExactnessMode mode=i2d::ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) override
Transform this object using some transformation.
virtual bool InvTransform(const i2d::ITransformation2d &transformation, i2d::ITransformation2d::ExactnessMode mode=i2d::ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) override
Do inverse transformation of this object.
virtual bool GetTransformed(const i2d::ITransformation2d &transformation, i2d::IObject2d &result, i2d::ITransformation2d::ExactnessMode mode=i2d::ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const override
Calulate transformation of the object into second one.
virtual void SetDeformMatrix(const i2d::CMatrix2d &deform)
virtual void MoveCenterTo(const i2d::CVector2d &position) override
Move object to position position.
double GetRotation() const
virtual bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
void SetTranslation(const i2d::CVector2d &translation)
virtual istd::TUniqueInterfacePtr< istd::IChangeable > CloneMe(CompatibilityMode mode=CM_WITHOUT_REFS) const override
Make a copy of this object.
Definition of rectangle area orthogonal to axis of coordination system.
Definition of position or mathematical vector on 2D plane.
Common interface for describing the 2D-objects.
Represents an input/output persistence archive for object serialization.
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
Unique ownership smart pointer for interface types.