Record TGenericMatrix2
Unit
Declaration
type TGenericMatrix2 = record
Description
2x2 matrix of floating-point values.
See also
- TGenericMatrix3
- 3x3 matrix of floating-point values.
Overview
Nested Types
TIndex = 0..1; |
Fields
var Data: array [TIndex, TIndex] of TGenericScalar; |
Methods
class operator + (const A, B: TGenericMatrix2): TGenericMatrix2; inline; |
|
class operator - (const A, B: TGenericMatrix2): TGenericMatrix2; inline; |
|
class operator - (const M: TGenericMatrix2): TGenericMatrix2; inline; |
|
class operator * (const V: TGenericMatrix2; const Scalar: TGenericScalar): TGenericMatrix2; inline; |
|
class operator * (const Scalar: TGenericScalar; const V: TGenericMatrix2): TGenericMatrix2; inline; |
|
class operator * (const M: TGenericMatrix2; const V: TGenericVector2): TGenericVector2; inline; |
|
class operator * (const M1, M2: TGenericMatrix2): TGenericMatrix2; |
|
function ToString(const LineIndent: string = ''): string; |
|
function ToRawString(const LineIndent: String = ''; const FloatFormat: String = '%g'): String; |
|
function Determinant: TGenericScalar; |
|
function Inverse(ADeterminant: TGenericScalar): TGenericMatrix2; |
|
function TryInverse(out MInverse: TGenericMatrix2): boolean; |
|
function Transpose: TGenericMatrix2; |
|
class function Equals(const M1, M2: TGenericMatrix2): boolean; overload; static; |
|
class function Equals(const M1, M2: TGenericMatrix2; const Epsilon: TGenericScalar): boolean; overload; static; |
|
class function PerfectlyEquals(const M1, M2: TGenericMatrix2): boolean; static; |
|
class function Lerp(const A: TGenericScalar; const M1, M2: TGenericMatrix2): TGenericMatrix2; static; |
|
class function Zero: TGenericMatrix2; static; |
|
class function Identity: TGenericMatrix2; static; |
Properties
property Items [const AColumn,ARow: TIndex]: TGenericScalar read GetItems write SetItems; |
|
property Rows [const ARow: TIndex]: TGenericVector2 read GetRows write SetRows; |
|
property Columns [const AColumn: TIndex]: TGenericVector2 read GetColumns write SetColumns; |
Description
Nested Types
TIndex = 0..1; |
|
This item has no description. |
Fields
var Data: array [TIndex, TIndex] of TGenericScalar; |
|
This item has no description. |
Methods
class operator + (const A, B: TGenericMatrix2): TGenericMatrix2; inline; |
|
This item has no description. |
class operator - (const A, B: TGenericMatrix2): TGenericMatrix2; inline; |
|
This item has no description. |
class operator - (const M: TGenericMatrix2): TGenericMatrix2; inline; |
|
This item has no description. |
class operator * (const V: TGenericMatrix2; const Scalar: TGenericScalar): TGenericMatrix2; inline; |
|
This item has no description. |
class operator * (const Scalar: TGenericScalar; const V: TGenericMatrix2): TGenericMatrix2; inline; |
|
This item has no description. |
class operator * (const M: TGenericMatrix2; const V: TGenericVector2): TGenericVector2; inline; |
|
This item has no description. |
class operator * (const M1, M2: TGenericMatrix2): TGenericMatrix2; |
|
Matrix * matrix makes a normal matrix algebraic multiplication (not component-wise multiplication). Note that this is different from vectors, where vector * vector makes a component-wise multiplication. |
function ToString(const LineIndent: string = ''): string; |
|
This item has no description. |
function ToRawString(const LineIndent: String = ''; const FloatFormat: String = '%g'): String; |
|
Convert to string using the most precise (not always easily readable by humans) float format. This may use the exponential (scientific) notation to represent the floating-point value, if needed. You can pass, as parameter, the format to use. By default it is '%g', "general number format" with maximum precision documented on https://www.freepascal.org/docs-html/rtl/sysutils/format.html . This is suitable for storing the value in a file, with a best precision possible. |
function Determinant: TGenericScalar; |
|
This item has no description. |
function Inverse(ADeterminant: TGenericScalar): TGenericMatrix2; |
|
This does division by ADeterminant internally, so will raise exception from this float division if the matrix is not reversible. Check Math.IsZero(ADeterminant) first to avoid this, or use TryInverse. |
function TryInverse(out MInverse: TGenericMatrix2): boolean; |
|
Inverse the matrix, or return |
function Transpose: TGenericMatrix2; |
|
This item has no description. |
class function Equals(const M1, M2: TGenericMatrix2): boolean; overload; static; |
|
Compare two vectors, with epsilon to tolerate slightly different floats. |
class function Equals(const M1, M2: TGenericMatrix2; const Epsilon: TGenericScalar): boolean; overload; static; |
|
This item has no description. |
class function PerfectlyEquals(const M1, M2: TGenericMatrix2): boolean; static; |
|
Compare two vectors using exact comparison (like the "=" operator to compare floats). |
class function Lerp(const A: TGenericScalar; const M1, M2: TGenericMatrix2): TGenericMatrix2; static; |
|
Linear interpolation between two matrix values. See also
|
class function Zero: TGenericMatrix2; static; |
|
This item has no description. |
class function Identity: TGenericMatrix2; static; |
|
This item has no description. |
Properties
property Items [const AColumn,ARow: TIndex]: TGenericScalar read GetItems write SetItems; |
|
This item has no description. |
property Rows [const ARow: TIndex]: TGenericVector2 read GetRows write SetRows; |
|
This item has no description. |
property Columns [const AColumn: TIndex]: TGenericVector2 read GetColumns write SetColumns; |
|
This item has no description. |
Generated by PasDoc 0.16.0-snapshot.