14 class PODOFO_API Matrix final
17 static Matrix Identity;
22 Matrix(
double a,
double b,
double c,
double d,
double e,
double f);
25 static Matrix FromArray(
const double arr[6]);
26 static Matrix FromArray(
const PdfArray& arr);
27 static Matrix CreateTranslation(
const Vector2& tx);
28 static Matrix CreateScale(
const Vector2& scale);
29 static Matrix CreateRotation(
double teta);
30 static Matrix CreateRotation(
const Vector2& center,
double teta);
34 Matrix& Translate(
const Vector2& tx);
37 Matrix Translated(
const Vector2& tx)
const;
42 template <AlgebraicTrait trait>
45 return MatrixTraits<trait>::Get(m_mat);
48 template <AlgebraicTrait trait>
49 void Set(
double value)
51 MatrixTraits<trait>::Set(m_mat, value);
55 template <AlgebraicTrait trait>
56 Matrix& Apply(
double value)
58 MatrixTraits<trait>::Apply(m_mat, value);
63 Matrix operator*(
const Matrix& m)
const;
66 Matrix GetScalingRotation()
const;
67 Matrix GetRotation()
const;
68 Vector2 GetScaleVector()
const;
69 Vector2 GetTranslationVector()
const;
70 void ToArray(
double arr[6])
const;
71 void ToArray(PdfArray& arr)
const;
72 PdfArray ToArray()
const;
75 Matrix(
const Matrix&) =
default;
76 Matrix& operator=(
const Matrix&) =
default;
77 bool operator==(
const Matrix& m)
const;
78 bool operator!=(
const Matrix& m)
const;
81 const double& operator[](
unsigned idx)
const;
84 Matrix(
const double arr[6]);
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13