LibreOffice Module basegfx (master) 1
Classes | Namespaces | Functions
b2dhommatrixtools.hxx File Reference
#include <sal/types.h>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/vector/b2dvector.hxx>
#include <basegfx/point/b2dpoint.hxx>
#include <basegfx/tuple/b2dtuple.hxx>
#include <utility>
#include <basegfx/basegfxdllapi.h>
Include dependency graph for b2dhommatrixtools.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  basegfx::utils::B2DHomMatrixBufferedDecompose
 
class  basegfx::utils::B2DHomMatrixBufferedOnDemandDecompose
 

Namespaces

namespace  basegfx
 
namespace  basegfx::utils
 

Functions

void basegfx::utils::createSinCosOrthogonal (double &o_rSin, double &rCos, double fRadiant)
 If the rotation angle is an approximate multiple of pi/2, force fSin/fCos to -1/0/1, to maintain orthogonality (which might also be advantageous for the other cases, but: for multiples of pi/2, the exact values can be attained. More...
 
B2DHomMatrix basegfx::utils::createScaleB2DHomMatrix (double fScaleX, double fScaleY)
 Tooling methods for on-the-fly matrix generation e.g. More...
 
B2DHomMatrix basegfx::utils::createShearXB2DHomMatrix (double fShearX)
 
B2DHomMatrix basegfx::utils::createShearYB2DHomMatrix (double fShearY)
 
B2DHomMatrix basegfx::utils::createRotateB2DHomMatrix (double fRadiant)
 
B2DHomMatrix basegfx::utils::createTranslateB2DHomMatrix (double fTranslateX, double fTranslateY)
 
B2DHomMatrix basegfx::utils::createScaleB2DHomMatrix (const B2DTuple &rScale)
 inline versions for parameters as tuples More...
 
B2DHomMatrix basegfx::utils::createTranslateB2DHomMatrix (const B2DTuple &rTranslate)
 
B2DHomMatrix basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix (double fScaleX, double fScaleY, double fShearX, double fRadiant, double fTranslateX, double fTranslateY)
 Tooling methods for faster completely combined matrix creation when scale, shearX, rotation and translation needs to be done in exactly that order. More...
 
B2DHomMatrix basegfx::utils::createScaleShearXRotateTranslateB2DHomMatrix (const B2DTuple &rScale, double fShearX, double fRadiant, const B2DTuple &rTranslate)
 
B2DHomMatrix basegfx::utils::createShearXRotateTranslateB2DHomMatrix (double fShearX, double fRadiant, double fTranslateX, double fTranslateY)
 
B2DHomMatrix basegfx::utils::createShearXRotateTranslateB2DHomMatrix (double fShearX, double fRadiant, const B2DTuple &rTranslate)
 
B2DHomMatrix basegfx::utils::createScaleTranslateB2DHomMatrix (double fScaleX, double fScaleY, double fTranslateX, double fTranslateY)
 
B2DHomMatrix basegfx::utils::createScaleTranslateB2DHomMatrix (const B2DTuple &rScale, const B2DTuple &rTranslate)
 
B2DHomMatrix basegfx::utils::createRotateAroundPoint (double fPointX, double fPointY, double fRadiant)
 special for the often used case of rotation around a point More...
 
B2DHomMatrix basegfx::utils::createRotateAroundPoint (const B2DTuple &rPoint, double fRadiant)
 
B2DHomMatrix basegfx::utils::createRotateAroundCenterKeepAspectRatioStayInsideRange (const basegfx::B2DRange &rTargetRange, double fRotate)
 special for creating a mapping for a Range rotated around it's center while keeping AspectRatio unchanged and staying inside the given Range by optimally using the available space (no overlap or outside allowed) More...
 
B2DHomMatrix basegfx::utils::createSourceRangeTargetRangeTransform (const B2DRange &rSourceRange, const B2DRange &rTargetRange)
 special for the case to map from source range to target range More...
 
B2DHomMatrix basegfx::utils::createCoordinateSystemTransform (const B2DPoint &rOrigin, const B2DVector &rX, const B2DVector &rY)
 create based on given CoordinateSystem which is defined by origin and x/yaxis More...
 
B2DTuple basegfx::utils::getColumn (const B2DHomMatrix &rMatrix, sal_uInt16 nCol)
 get column vector from B2dHomMatrix, e.g. to extract coordinate system origin and x/yaxis More...