30namespace basegfx {
class B2DRange; }
72 double fScaleX,
double fScaleY,
75 double fTranslateX,
double fTranslateY);
86 rTranslate.
getX(), rTranslate.
getY());
92 double fTranslateX,
double fTranslateY);
101 rTranslate.
getX(), rTranslate.
getY());
105 double fScaleX,
double fScaleY,
106 double fTranslateX,
double fTranslateY);
113 rTranslate.
getX(), rTranslate.
getY());
118 double fPointX,
double fPointY,
164 rB2DHomMatrix.decompose(maScale, maTranslate, mfRotate, mfShearX);
171 maScale, mfShearX, mfRotate, maTranslate);
#define BASEGFX_DLLPUBLIC
bool decompose(B2DTuple &rScale, B2DTuple &rTranslate, double &rRotate, double &rShearX) const
Help routine to decompose given homogen 3x3 matrix to components.
Base Point class with two double values.
A two-dimensional interval over doubles.
Base class for all Points/Vectors with two double values.
Base Point class with two double values.
TYPE getX() const
Get X-Coordinate of 2D Tuple.
TYPE getY() const
Get Y-Coordinate of 2D Tuple.
const B2DVector & getScale() const
B2DHomMatrix getB2DHomMatrix() const
B2DHomMatrixBufferedDecompose(const B2DHomMatrix &rB2DHomMatrix=B2DHomMatrix())
const B2DVector & getTranslate() const
const B2DVector & getScale() const
const B2DVector & getTranslate() const
B2DHomMatrix maB2DHomMatrix
const B2DHomMatrix & getB2DHomMatrix() const
B2DHomMatrixBufferedOnDemandDecompose(B2DHomMatrix aB2DHomMatrix=B2DHomMatrix())
B2DHomMatrix createCoordinateSystemTransform(const B2DPoint &rOrigin, const B2DVector &rX, const B2DVector &rY)
create based on given CoordinateSystem which is defined by origin and x/yaxis
B2DHomMatrix createScaleTranslateB2DHomMatrix(double fScaleX, double fScaleY, double fTranslateX, double fTranslateY)
B2DHomMatrix createRotateAroundPoint(double fPointX, double fPointY, double fRadiant)
special for the often used case of rotation around a point
B2DHomMatrix createShearYB2DHomMatrix(double fShearY)
B2DHomMatrix createRotateAroundCenterKeepAspectRatioStayInsideRange(const basegfx::B2DRange &rTargetRange, double fRotate)
special for creating a mapping for a Range rotated around it's center while keeping AspectRatio uncha...
B2DHomMatrix createScaleB2DHomMatrix(double fScaleX, double fScaleY)
Tooling methods for on-the-fly matrix generation e.g.
B2DHomMatrix createShearXB2DHomMatrix(double fShearX)
B2DTuple getColumn(const B2DHomMatrix &rMatrix, sal_uInt16 nCol)
get column vector from B2dHomMatrix, e.g. to extract coordinate system origin and x/yaxis
B2DHomMatrix createTranslateB2DHomMatrix(double fTranslateX, double fTranslateY)
B2DHomMatrix createRotateB2DHomMatrix(double fRadiant)
void createSinCosOrthogonal(double &o_rSin, double &o_rCos, double fRadiant)
If the rotation angle is an approximate multiple of pi/2, force fSin/fCos to -1/0/1,...
B2DHomMatrix createScaleShearXRotateTranslateB2DHomMatrix(double fScaleX, double fScaleY, double fShearX, double fRadiant, double fTranslateX, double fTranslateY)
Tooling methods for faster completely combined matrix creation when scale, shearX,...
B2DHomMatrix createShearXRotateTranslateB2DHomMatrix(double fShearX, double fRadiant, double fTranslateX, double fTranslateY)
B2DHomMatrix createSourceRangeTargetRangeTransform(const B2DRange &rSourceRange, const B2DRange &rTargetRange)
special for the case to map from source range to target range
basegfx::B2DHomMatrix maB2DHomMatrix