System.Math.Vectors.TMatrix

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

TMatrix = record

C++

struct DECLSPEC_DRECORD TMatrix
{
private:
    TMatrix __fastcall Scale(const float AFactor);
public:
    static TMatrix __fastcall CreateRotation(const float AAngle);
    static TMatrix __fastcall CreateScaling(const float AScaleX, const float AScaleY);
    static TMatrix __fastcall CreateTranslation(const float ADeltaX, const float ADeltaY);
    static TMatrix __fastcall _op_Multiply(const TMatrix &AMatrix1, const TMatrix &AMatrix2);
    static System::Types::TPointF __fastcall _op_Multiply(const System::Types::TPointF &APoint, const TMatrix &AMatrix);
    static TVector __fastcall _op_Multiply(const TVector &AVector, const TMatrix &AMatrix);
    static TPoint3D __fastcall _op_Multiply(const TPoint3D &AVector, const TMatrix &AMatrix);
    static bool __fastcall _op_Equality(const TMatrix &RightMatrix, const TMatrix &LeftMatrix);
    float __fastcall Determinant();
    TMatrix __fastcall Adjoint();
    TMatrix __fastcall Inverse();
    System::Types::TPointF __fastcall ExtractScale();
    bool __fastcall EqualsTo(const TMatrix &AMatrix, const float Epsilon = 1.000000E-05f);
    friend TMatrix operator *(const TMatrix &AMatrix1, const TMatrix &AMatrix2) { return TMatrix::_op_Multiply(AMatrix1, AMatrix2); }
    friend System::Types::TPointF operator *(const System::Types::TPointF &APoint, const TMatrix &AMatrix) { return TMatrix::_op_Multiply(APoint, AMatrix); }
    friend TVector operator *(const TVector &AVector, const TMatrix &AMatrix) { return TMatrix::_op_Multiply(AVector, AMatrix); }
    friend TPoint3D operator *(const TPoint3D &AVector, const TMatrix &AMatrix) { return TMatrix::_op_Multiply(AVector, AMatrix); }
    friend bool operator ==(const TMatrix &RightMatrix, const TMatrix &LeftMatrix) { return TMatrix::_op_Equality(RightMatrix, LeftMatrix); }
public:
    union
    {
        struct
        {
            float m11;
            float m12;
            float m13;
            float m21;
            float m22;
            float m23;
            float m31;
            float m32;
            float m33;
        };
        struct
        {
            System::Math::Vectors::TMaxtrixArrayBase M;
        };
    };
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.Math.Vectors.pas
System.Math.Vectors.hpp
System.Math.Vectors System.Math.Vectors

Description

TMatrix is an array of vectors in a two-dimensional space. It is used for vector transformations in 2D-space.

TMatrix is a record that represents three vectors, each in a two-dimensional space. The vectors have their initial points in (0, 0). m11 and m12 are the coordinates of the terminal point of the first vector (similar for the other two). The TMatrix is used for vector transformations in 2D-space.

See Also