LibreOffice Module basegfx (master) 1
Public Types | Public Member Functions | Private Attributes | List of all members
basegfx::B3DHomMatrix Class Reference

#include <b3dhommatrix.hxx>

Collaboration diagram for basegfx::B3DHomMatrix:
[legend]

Public Types

typedef o3tl::cow_wrapper< Impl3DHomMatrix, o3tl::ThreadSafeRefCountingPolicyImplType
 

Public Member Functions

 B3DHomMatrix ()
 
 B3DHomMatrix (const B3DHomMatrix &rMat)
 
 B3DHomMatrix (B3DHomMatrix &&rMat)
 
 ~B3DHomMatrix ()
 
double get (sal_uInt16 nRow, sal_uInt16 nColumn) const
 
void set (sal_uInt16 nRow, sal_uInt16 nColumn, double fValue)
 
bool isLastLineDefault () const
 
bool isIdentity () const
 
void identity ()
 Reset to the identity matrix. More...
 
void invert ()
 Invert the matrix (if possible) More...
 
double determinant () const
 Calc the matrix determinant. More...
 
void rotate (double fAngleX, double fAngleY, double fAngleZ)
 Rotation. More...
 
void rotate (const B3DTuple &rRotation)
 
void translate (double fX, double fY, double fZ)
 Translation. More...
 
void translate (const B3DTuple &rTranslation)
 
void scale (double fX, double fY, double fZ)
 Scaling. More...
 
void scale (const B3DTuple &rScale)
 
void shearXY (double fSx, double fSy)
 
void shearXZ (double fSx, double fSz)
 
void frustum (double fLeft=-1.0, double fRight=1.0, double fBottom=-1.0, double fTop=1.0, double fNear=0.001, double fFar=1.0)
 
void ortho (double fLeft=-1.0, double fRight=1.0, double fBottom=-1.0, double fTop=1.0, double fNear=0.0, double fFar=1.0)
 
void orientation (const B3DPoint &rVRP=B3DPoint(0.0, 0.0, 1.0), B3DVector aVPN=B3DVector(0.0, 0.0, 1.0), B3DVector aVUV=B3DVector(0.0, 1.0, 0.0))
 
B3DHomMatrixoperator+= (const B3DHomMatrix &rMat)
 
B3DHomMatrixoperator-= (const B3DHomMatrix &rMat)
 
bool operator== (const B3DHomMatrix &rMat) const
 
bool operator!= (const B3DHomMatrix &rMat) const
 
B3DHomMatrixoperator*= (double fValue)
 
B3DHomMatrixoperator/= (double fValue)
 
B3DHomMatrixoperator*= (const B3DHomMatrix &rMat)
 
B3DHomMatrixoperator= (const B3DHomMatrix &rMat)
 
B3DHomMatrixoperator= (B3DHomMatrix &&rMat)
 
void decompose (B3DTuple &rScale, B3DTuple &rTranslate, B3DTuple &rRotate, B3DTuple &rShear) const
 

Private Attributes

ImplType mpImpl
 

Detailed Description

Definition at line 33 of file b3dhommatrix.hxx.

Member Typedef Documentation

◆ ImplType

Definition at line 36 of file b3dhommatrix.hxx.

Constructor & Destructor Documentation

◆ B3DHomMatrix() [1/3]

basegfx::B3DHomMatrix::B3DHomMatrix ( )
default

◆ B3DHomMatrix() [2/3]

basegfx::B3DHomMatrix::B3DHomMatrix ( const B3DHomMatrix rMat)
default

◆ B3DHomMatrix() [3/3]

basegfx::B3DHomMatrix::B3DHomMatrix ( B3DHomMatrix &&  rMat)
default

◆ ~B3DHomMatrix()

basegfx::B3DHomMatrix::~B3DHomMatrix ( )
default

Member Function Documentation

◆ decompose()

void basegfx::B3DHomMatrix::decompose ( B3DTuple rScale,
B3DTuple rTranslate,
B3DTuple rRotate,
B3DTuple rShear 
) const

◆ determinant()

double basegfx::B3DHomMatrix::determinant ( ) const

Calc the matrix determinant.

Definition at line 81 of file b3dhommatrix.cxx.

References mpImpl.

Referenced by decompose().

◆ frustum()

void basegfx::B3DHomMatrix::frustum ( double  fLeft = -1.0,
double  fRight = 1.0,
double  fBottom = -1.0,
double  fTop = 1.0,
double  fNear = 0.001,
double  fFar = 1.0 
)

◆ get()

double basegfx::B3DHomMatrix::get ( sal_uInt16  nRow,
sal_uInt16  nColumn 
) const

◆ identity()

void basegfx::B3DHomMatrix::identity ( )

Reset to the identity matrix.

Definition at line 64 of file b3dhommatrix.cxx.

References mpImpl.

◆ invert()

void basegfx::B3DHomMatrix::invert ( )

◆ isIdentity()

bool basegfx::B3DHomMatrix::isIdentity ( ) const

◆ isLastLineDefault()

bool basegfx::B3DHomMatrix::isLastLineDefault ( ) const

Definition at line 54 of file b3dhommatrix.cxx.

References mpImpl.

◆ operator!=()

bool basegfx::B3DHomMatrix::operator!= ( const B3DHomMatrix rMat) const

Definition at line 145 of file b3dhommatrix.cxx.

◆ operator*=() [1/2]

B3DHomMatrix & basegfx::B3DHomMatrix::operator*= ( const B3DHomMatrix rMat)

Definition at line 118 of file b3dhommatrix.cxx.

References isIdentity(), and mpImpl.

◆ operator*=() [2/2]

B3DHomMatrix & basegfx::B3DHomMatrix::operator*= ( double  fValue)

Definition at line 98 of file b3dhommatrix.cxx.

References basegfx::fTools::equal(), and mpImpl.

◆ operator+=()

B3DHomMatrix & basegfx::B3DHomMatrix::operator+= ( const B3DHomMatrix rMat)

Definition at line 86 of file b3dhommatrix.cxx.

References mpImpl.

◆ operator-=()

B3DHomMatrix & basegfx::B3DHomMatrix::operator-= ( const B3DHomMatrix rMat)

Definition at line 92 of file b3dhommatrix.cxx.

References mpImpl.

◆ operator/=()

B3DHomMatrix & basegfx::B3DHomMatrix::operator/= ( double  fValue)

Definition at line 108 of file b3dhommatrix.cxx.

References basegfx::fTools::equal(), and mpImpl.

◆ operator=() [1/2]

B3DHomMatrix & basegfx::B3DHomMatrix::operator= ( B3DHomMatrix &&  rMat)
default

References decompose().

◆ operator=() [2/2]

B3DHomMatrix & basegfx::B3DHomMatrix::operator= ( const B3DHomMatrix rMat)
default

◆ operator==()

bool basegfx::B3DHomMatrix::operator== ( const B3DHomMatrix rMat) const

◆ orientation()

void basegfx::B3DHomMatrix::orientation ( const B3DPoint rVRP = B3DPoint(0.0,0.0,1.0),
B3DVector  aVPN = B3DVector(0.0,0.0,1.0),
B3DVector  aVUV = B3DVector(0.0,1.0,0.0) 
)

◆ ortho()

void basegfx::B3DHomMatrix::ortho ( double  fLeft = -1.0,
double  fRight = 1.0,
double  fBottom = -1.0,
double  fTop = 1.0,
double  fNear = 0.0,
double  fFar = 1.0 
)

◆ rotate() [1/2]

void basegfx::B3DHomMatrix::rotate ( const B3DTuple rRotation)

◆ rotate() [2/2]

void basegfx::B3DHomMatrix::rotate ( double  fAngleX,
double  fAngleY,
double  fAngleZ 
)

◆ scale() [1/2]

void basegfx::B3DHomMatrix::scale ( const B3DTuple rScale)

◆ scale() [2/2]

void basegfx::B3DHomMatrix::scale ( double  fX,
double  fY,
double  fZ 
)

◆ set()

void basegfx::B3DHomMatrix::set ( sal_uInt16  nRow,
sal_uInt16  nColumn,
double  fValue 
)

◆ shearXY()

void basegfx::B3DHomMatrix::shearXY ( double  fSx,
double  fSy 
)

◆ shearXZ()

void basegfx::B3DHomMatrix::shearXZ ( double  fSx,
double  fSz 
)

◆ translate() [1/2]

void basegfx::B3DHomMatrix::translate ( const B3DTuple rTranslation)

◆ translate() [2/2]

void basegfx::B3DHomMatrix::translate ( double  fX,
double  fY,
double  fZ 
)

Member Data Documentation

◆ mpImpl

ImplType basegfx::B3DHomMatrix::mpImpl
private

The documentation for this class was generated from the following files: