IndexGeometriesBLMatrix2D
BLMatrix2D Struct Reference

2D matrix represents an affine transformation matrix that can be used to transform geometry and images.

Public Members

Member Functions

Construction & Destruction
Reset Matrix
Overloaded Operators
Common Functionality
Matrix Properties
Matrix Operations
Map Points and Primitives

Static Functions

Static Constructors
Static Operations

BLMatrix2D::BLMatrix2D()defaultnoexcept[1/3][¶]

Creates an uninitialized 2D matrix, you must initialize all members before use.

BLMatrix2D::BLMatrix2D(
const BLMatrix2D& src
)constexprdefaultnoexcept[2/3][¶]

Creates a new matrix initialized to a copy of src matrix.

BLMatrix2D::BLMatrix2D(
double m00Value,
double m01Value,
double m10Value,
double m11Value,
double m20Value,
double m21Value
)constexprnoexcept[3/3][¶]

Creates a new matrix initialized to:

[m00 m01]
[m10 m11]
[m20 m21]

BLMatrix2D BLMatrix2D::makeIdentity()constexprstaticnoexcept[¶]

Creates a new matrix initialized to identity.

BLMatrix2D BLMatrix2D::makeTranslation(
double x,
double y
)constexprstaticnoexcept[1/3][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

BLMatrix2D BLMatrix2D::makeTranslation(
const BLPointI& p
)constexprstaticnoexcept[2/3][¶]

Creates a new matrix initialized to translation.

BLMatrix2D BLMatrix2D::makeTranslation(
const BLPoint& p
)constexprstaticnoexcept[3/3][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

BLMatrix2D BLMatrix2D::makeScaling(
double xy
)constexprstaticnoexcept[1/4][¶]

Creates a new matrix initialized to scaling.

BLMatrix2D BLMatrix2D::makeScaling(
double x,
double y
)constexprstaticnoexcept[2/4][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

BLMatrix2D BLMatrix2D::makeScaling(
const BLPointI& p
)constexprstaticnoexcept[3/4][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

BLMatrix2D BLMatrix2D::makeScaling(
const BLPoint& p
)constexprstaticnoexcept[4/4][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

BLMatrix2D BLMatrix2D::makeRotation(
double angle
)staticnoexcept[1/3][¶]

Creates a new matrix initialized to rotation.

BLMatrix2D BLMatrix2D::makeRotation(
double angle,
double x,
double y
)staticnoexcept[2/3][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

BLMatrix2D BLMatrix2D::makeRotation(
double angle,
const BLPoint& origin
)staticnoexcept[3/3][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

BLMatrix2D BLMatrix2D::makeSkewing(
double x,
double y
)staticnoexcept[1/2][¶]

Create a new skewing matrix.

BLMatrix2D BLMatrix2D::makeSkewing(
const BLPoint& p
)staticnoexcept[2/2][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

void BLMatrix2D::reset()noexcept[1/3][¶]

Resets matrix to identity.

void BLMatrix2D::reset(
const BLMatrix2D& other
)noexcept[2/3][¶]

Resets matrix to other (copy its content to this matrix).

void BLMatrix2D::reset(
double m00Value,
double m01Value,
double m10Value,
double m11Value,
double m20Value,
double m21Value
)noexcept[3/3][¶]

Resets matrix to [m00Value, m01Value, m10Value, m11Value, m20Value, m21Value].

void BLMatrix2D::resetToTranslation(
double x,
double y
)noexcept[1/3][¶]

Resets matrix to translation.

void BLMatrix2D::resetToTranslation(
const BLPointI& p
)noexcept[2/3][¶]

Resets matrix to translation.

void BLMatrix2D::resetToTranslation(
const BLPoint& p
)noexcept[3/3][¶]

Resets matrix to translation.

void BLMatrix2D::resetToScaling(
double xy
)noexcept[1/4][¶]

Resets matrix to scaling.

void BLMatrix2D::resetToScaling(
double x,
double y
)noexcept[2/4][¶]

Resets matrix to scaling.

void BLMatrix2D::resetToScaling(
const BLPointI& p
)noexcept[3/4][¶]

Resets matrix to scaling.

void BLMatrix2D::resetToScaling(
const BLPoint& p
)noexcept[4/4][¶]

Resets matrix to scaling.

void BLMatrix2D::resetToSkewing(
double x,
double y
)noexcept[1/2][¶]

Resets matrix to skewing.

void BLMatrix2D::resetToSkewing(
const BLPoint& p
)noexcept[2/2][¶]

Resets matrix to skewing.

void BLMatrix2D::resetToSinCos(
double sin,
double cos,
double tx = 0.0,
double ty = 0.0
)noexcept[1/2][¶]

Resets matrix to rotation specified by sin and cos and optional translation tx and ty.

void BLMatrix2D::resetToSinCos(
double sin,
double cos,
const BLPoint& t
)noexcept[2/2][¶]

Resets matrix to rotation specified by sin and cos and optional translation t.

void BLMatrix2D::resetToRotation(
double angle
)noexcept[1/3][¶]

Resets matrix to rotation.

void BLMatrix2D::resetToRotation(
double angle,
double x,
double y
)noexcept[2/3][¶]

Resets matrix to rotation around a point [x, y].

void BLMatrix2D::resetToRotation(
double angle,
const BLPoint& origin
)noexcept[3/3][¶]

Resets matrix to rotation around a point p.

BLTransformType BLMatrix2D::type() constnoexcept[¶]

Returns the matrix type, see BLTransformType.

double BLMatrix2D::determinant() constnoexcept[¶]

Calculates the matrix determinant.

BLResult BLMatrix2D::invert()noexcept[1/2][¶]

Inverts the matrix, returns BL_SUCCESS if the matrix has been inverted successfully.

BLResult BLMatrix2D::invert(
BLMatrix2D& dst,
const BLMatrix2D& src
)staticnoexcept[2/2][¶]

Inverts src matrix and stores the result in `dst.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

double BLMatrix2D::m[6][¶]

Matrix values stored in array.