Board 0.9.6
TransformMatrix.h
Go to the documentation of this file.
1/* -*- mode: c++ -*- */
26#ifndef BOARD_TRANSFORM_MATRIX_H
27#define BOARD_TRANSFORM_MATRIX_H
28
29#include <board/Point.h>
30#include <cmath>
31#include <iostream>
32
33namespace LibBoard
34{
35
37public:
38 enum Type
39 {
42 };
43
44 inline TransformMatrix();
45 inline TransformMatrix(double m11, double m12, double m13, double m21, double m22, double m23);
46
47 static TransformMatrix translation(double dx, double dy);
48 static TransformMatrix translation(const Point &);
49 static TransformMatrix scaling(double sx, double sy);
50 static TransformMatrix rotation(double angle, Type type);
51 static TransformMatrix rotation(double angle, const Point & center, Type type);
52
55 Point operator*(const Point & point) const;
56 TransformMatrix operator+(const Point &) const;
58 void flushSVG(std::ostream &) const;
59 void flushEPS(std::ostream &) const;
60
61private:
62 double _m11, _m12, _m13;
63 double _m21, _m22, _m23;
64};
65
66// inline methods
67
69{
70 _m11 = 1.0;
71 _m12 = 0.0;
72 _m13 = 0.0;
73 _m21 = 0.0;
74 _m22 = 1.0;
75 _m23 = 0.0;
76}
77
78TransformMatrix::TransformMatrix(double m11, double m12, double m13, double m21, double m22, double m23) : _m11(m11), _m12(m12), _m13(m13), _m21(m21), _m22(m22), _m23(m23) {}
79
80} // namespace LibBoard
81
82#endif /* BOARD_TRANSFORM_MATRIX_H */
Point point(Complex z)
Definition Julia.cpp:38
The Point structure. @copyright This source code is part of the Board project, a C++ library whose pu...
Definition TransformMatrix.h:36
static TransformMatrix translation(double dx, double dy)
Definition TransformMatrix.cpp:34
void flushSVG(std::ostream &) const
Definition TransformMatrix.cpp:100
static TransformMatrix rotation(double angle, Type type)
Definition TransformMatrix.cpp:49
Type
Definition TransformMatrix.h:39
@ Postscript
Definition TransformMatrix.h:41
@ SVG
Definition TransformMatrix.h:40
TransformMatrix()
Definition TransformMatrix.h:68
static TransformMatrix scaling(double sx, double sy)
Definition TransformMatrix.cpp:44
TransformMatrix operator+(const Point &) const
Definition TransformMatrix.cpp:85
TransformMatrix & operator*=(const TransformMatrix &)
Definition TransformMatrix.cpp:68
TransformMatrix operator*(const TransformMatrix &) const
Definition TransformMatrix.cpp:62
TransformMatrix & operator+=(const Point &)
Definition TransformMatrix.cpp:93
void flushEPS(std::ostream &) const
Definition TransformMatrix.cpp:105
Definition Board.h:55
Struct representing a 2D point.
Definition Point.h:42