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 Construction
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 m00_value,
double m01_value,
double m10_value,
double m11_value,
double m20_value,
double m21_value
)constexprnoexcept[3/3][¶]

Creates a new matrix initialized to:

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

BLMatrix2D BLMatrix2D::make_identity()constexprstaticnodiscardnoexcept[¶]

Creates a new matrix initialized to identity.

BLMatrix2D BLMatrix2D::make_translation(
double x,
double y
)constexprstaticnodiscardnoexcept[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::make_translation(
const BLPointI& p
)constexprstaticnodiscardnoexcept[2/3][¶]

Creates a new matrix initialized to translation.

BLMatrix2D BLMatrix2D::make_translation(
const BLPoint& p
)constexprstaticnodiscardnoexcept[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::make_scaling(
double xy
)constexprstaticnodiscardnoexcept[1/4][¶]

Creates a new matrix initialized to scaling.

BLMatrix2D BLMatrix2D::make_scaling(
double x,
double y
)constexprstaticnodiscardnoexcept[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::make_scaling(
const BLPointI& p
)constexprstaticnodiscardnoexcept[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::make_scaling(
const BLPoint& p
)constexprstaticnodiscardnoexcept[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::make_rotation(
double angle
)staticnodiscardnoexcept[1/3][¶]

Creates a new matrix initialized to rotation.

BLMatrix2D BLMatrix2D::make_rotation(
double angle,
double x,
double y
)staticnodiscardnoexcept[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::make_rotation(
double angle,
const BLPoint& origin
)staticnodiscardnoexcept[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::make_skewing(
double x,
double y
)staticnodiscardnoexcept[1/2][¶]

Create a new skewing matrix.

BLMatrix2D BLMatrix2D::make_skewing(
const BLPoint& p
)staticnodiscardnoexcept[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 m00_value,
double m01_value,
double m10_value,
double m11_value,
double m20_value,
double m21_value
)noexcept[3/3][¶]

Resets matrix to [m00_value, m01_value, m10_value, m11_value, m20_value, m21_value].

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

Resets matrix to translation.

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

Resets matrix to translation.

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

Resets matrix to translation.

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

Resets matrix to scaling.

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

Resets matrix to scaling.

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

Resets matrix to scaling.

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

Resets matrix to scaling.

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

Resets matrix to skewing.

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

Resets matrix to skewing.

void BLMatrix2D::reset_to_sin_cos(
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::reset_to_sin_cos(
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::reset_to_rotation(
double angle
)noexcept[1/3][¶]

Resets matrix to rotation.

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

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

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

Resets matrix to rotation around a point p.

BLTransformType BLMatrix2D::type() constnodiscardnoexcept[¶]

Returns the matrix type, see BLTransformType.

double BLMatrix2D::determinant() constnodiscardnoexcept[¶]

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.