Loading...
Searching...
No Matches
Matrix2D.h
Go to the documentation of this file.
1//---------------------------------------------------------------------------------------
2// Copyright (c) 2001-2025 by Apryse Software Inc. All Rights Reserved.
3// Consult legal.txt regarding legal and license information.
4//---------------------------------------------------------------------------------------
5#ifndef PDFTRON_H_CPPCommonMatrix2D
6#define PDFTRON_H_CPPCommonMatrix2D
7
8#include <Common/Common.h>
9#include <C/Common/TRN_Types.h>
10#include <C/Common/TRN_Matrix2D.h>
11#include <PDF/Point.h>
12#include <vector>
13
14
15 namespace pdftron {
16 namespace Common {
17
18
103 class Matrix2D : public TRN_Matrix2D
104{
105 public:
106
120 Matrix2D(double a = 1, double b = 0, double c = 0, double d = 1, double h = 0, double v = 0);
121
125 Matrix2D(const Matrix2D& m);
126
130 Matrix2D& operator= (const Matrix2D& m);
131
142 void Set (double a, double b, double c, double d, double h, double v);
143
155 void Concat(double a, double b, double c, double d, double h, double v);
156
157#if !defined(SWIG)
164 Matrix2D& operator*= (const Matrix2D& m);
165
171 Matrix2D operator* (const Matrix2D& m) const;
172
180 bool operator== (const Matrix2D& m) const;
181
189 bool operator!= (const Matrix2D& m) const {return !(this->operator ==(m));}
190#else // !defined(SWIG)
191 Matrix2D Multiply(const Matrix2D& m);
192 bool IsEquals(const Matrix2D& m) const;
193 bool IsNotEquals(const Matrix2D& m) const
194 {
195 return (!this->IsEquals(m));
196 }
197#endif // !defined(SWIG)
201 PDF::Point Mult(const PDF::Point & pt) const;
202
203#ifndef SWIG
204 void Mult(double& in_out_x, double& in_out_y) const;
205#endif
206
207
211 Matrix2D Inverse () const;
212
222 void Translate (double h, double v);
223
231 void PreTranslate(double h, double v);
232
240 void PostTranslate(double h, double v);
241
247 void Scale (double h, double v);
248
252 static Matrix2D ZeroMatrix ();
253
257 static Matrix2D IdentityMatrix ();
258
264 static Matrix2D RotationMatrix (const double angle);
265};
266
267
268#include <Impl/Matrix2D.inl>
269
270 }; // namespace Common
271}; // namespace pdftron
272
273#endif // PDFTRON_H_CPPCommonMatrix2D
Common.h
Point.h
pdftron::Common::Matrix2D
Definition Matrix2D.h:104
pdftron::Common::Matrix2D::Mult
PDF::Point Mult(const PDF::Point &pt) const
pdftron::Common::Matrix2D::Set
void Set(double a, double b, double c, double d, double h, double v)
pdftron::Common::Matrix2D::Scale
void Scale(double h, double v)
pdftron::Common::Matrix2D::PostTranslate
void PostTranslate(double h, double v)
pdftron::Common::Matrix2D::operator==
bool operator==(const Matrix2D &m) const
pdftron::Common::Matrix2D::Matrix2D
Matrix2D(double a=1, double b=0, double c=0, double d=1, double h=0, double v=0)
pdftron::Common::Matrix2D::operator!=
bool operator!=(const Matrix2D &m) const
Definition Matrix2D.h:189
pdftron::Common::Matrix2D::operator*
Matrix2D operator*(const Matrix2D &m) const
pdftron::Common::Matrix2D::RotationMatrix
static Matrix2D RotationMatrix(const double angle)
pdftron::Common::Matrix2D::operator*=
Matrix2D & operator*=(const Matrix2D &m)
pdftron::Common::Matrix2D::Inverse
Matrix2D Inverse() const
pdftron::Common::Matrix2D::Translate
void Translate(double h, double v)
pdftron::Common::Matrix2D::PreTranslate
void PreTranslate(double h, double v)
pdftron::Common::Matrix2D::Matrix2D
Matrix2D(const Matrix2D &m)
pdftron::Common::Matrix2D::IdentityMatrix
static Matrix2D IdentityMatrix()
pdftron::Common::Matrix2D::ZeroMatrix
static Matrix2D ZeroMatrix()
pdftron::Common::Matrix2D::Mult
void Mult(double &in_out_x, double &in_out_y) const
pdftron::Common::Matrix2D::Concat
void Concat(double a, double b, double c, double d, double h, double v)
pdftron::Common::Matrix2D::operator=
Matrix2D & operator=(const Matrix2D &m)
pdftron::PDF::Point
Definition Point.h:13
pdftron::Common
Definition ByteRange.h:15
pdftron
Definition BasicTypes.h:10