FireMonkey において最もリファクタリングが激しいのは座標 / ベクトル / 行列関連のレコード及び計算ルーチンです。基本的にはレコードのオーバーロードされた演算子やメソッドで計算を行います。
レコード名は TPoint です。座標 (整数) 計算のルーチンは FMX.Types にありますが、バージョンによって実装が異なります。
機能 | 座標 (整数) 計算用レコード |
XE2 | System.Types.TPoint |
XE3 | System.Types.TPoint |
XE4 | System.Types.TPoint |
XE5 / Appmethod 1.13 |
System.Types.TPoint |
XE6 / Appmethod 1.14 |
System.Types.TPoint |
レコード名は TPointF です。座標 (実数) 計算のルーチンは FMX.Types にありますが、バージョンによって実装が異なります。
機能 | 座標 (実数) 計算用レコード |
XE2 | System.Types.TPointF |
XE3 | System.Types.TPointF |
XE4 | System.Types.TPointF |
XE5 / Appmethod 1.13 |
System.Types.TPointF |
XE6 / Appmethod 1.14 |
System.Types.TPointF |
レコード名は TPoint3D ですが、バージョンによってユニットスコープが異なる事があります。3D 座標計算のルーチンは FMX.Types3D にありますが、バージョンによって実装が異なります。
機能 | 3D 座標計算用レコード |
XE2 | FMX.Types3D.TPoint3D 演算子のオーバーロードがないので計算自体は FMX.Types3D にあるルーチンを使う。 |
XE3 | System.Types.TPoint3D |
XE4 | System.Types.TPoint3D |
XE5 / Appmethod 1.13 |
System.Types.TPoint3D |
XE6 / Appmethod 1.14 |
System.Math.Vectors.TPoint3D |
レコード名は TVector ですが、バージョンによってユニットスコープが異なる事があります。ベクトル計算のルーチンは FMX.Types にありますが、バージョンによって実装が異なります。
機能 | ベクトル計算用レコード |
XE2 | System.Types.TVector 演算子のオーバーロードがないので計算自体は FMX.Types にあるルーチンを使う。 |
XE3 | System.Types.TVector |
XE4 | System.Types.TVector |
XE5 / Appmethod 1.13 |
System.Types.TVector |
XE6 / Appmethod 1.14 |
System.Math.Vectors.TVector |
レコード名は TVector3D ですが、バージョンによってユニットスコープが異なる事があります。3D ベクトル計算のルーチンは FMX.Types3D にありますが、バージョンによって実装が異なります。
機能 | 3D ベクトル計算用レコード |
XE2 | FMX.Types3D.TVector3D 演算子のオーバーロードがないので計算自体は FMX.Types3D にあるルーチンを使う。 |
XE3 | System.Types.TVector3D |
XE4 | System.Types.TVector3D |
XE5 / Appmethod 1.13 |
System.Types.TVector3D |
XE6 / Appmethod 1.14 |
System.Math.Vectors.TVector3D |
レコード名は TMatrix ですが、バージョンによってユニットスコープが異なる事があります。3x3 行列計算のルーチンは FMX.Types にありますが、バージョンによって実装が異なります。
機能 | 3x3 行列計算用レコード |
XE2 | System.Types.TMatrix 演算子のオーバーロードがないので計算自体は FMX.Types にあるルーチンを使う。 |
XE3 | System.Types.TMatrix 演算子のオーバーロードがないので計算自体は FMX.Types にあるルーチンを使う。 |
XE4 | System.Types.TMatrix 演算子のオーバーロードがないので計算自体は FMX.Types にあるルーチンを使う。 |
XE5 / Appmethod 1.13 |
System.Types.TMatrix |
XE6 / Appmethod 1.14 |
System.Math.Vectors.TMatrix |
レコード名は TMatrix3D ですが、バージョンによってユニットスコープが異なる事があります。4x4 行列 (3D) 計算のルーチンは FMX.Types3D にありますが、バージョンによって実装が異なります。
機能 | 4x4 行列 (3D) 計算用レコード |
XE2 | FMX.Types3D.TMatrix3D 演算子のオーバーロードがないので計算自体は FMX.Types3D にあるルーチンを使う。 |
XE3 | System.Types.TMatrix3D 演算子のオーバーロードがないので計算自体は FMX.Types3D にあるルーチンを使う。 |
XE4 | System.Types.TMatrix3D |
XE5 / Appmethod 1.13 |
System.Types.TMatrix3D |
XE6 / Appmethod 1.14 |
System.Math.Vectors.TMatrix3D |
レコード名は TQuaternion3D ですが、バージョンによってユニットスコープが異なる事があります。四元数 (クォータニオン) 計算のルーチンは FMX.Types3D にありますが、バージョンによって実装が異なります。
機能 | 四元数 (クォータニオン) 計算用レコード |
XE2 | FMX.Types3D.TQuaternion3D 演算子のオーバーロードがないので計算自体は FMX.Types3D にあるルーチンを使う。 |
XE3 | System.Types.TQuaternion3D 演算子のオーバーロードがないので計算自体は FMX.Types3D にあるルーチンを使う。 |
XE4 | System.Types.TQuaternion3D 演算子のオーバーロードがないので計算自体は FMX.Types3D にあるルーチンを使う。 |
XE5 / Appmethod 1.13 |
System.Types.TQuaternion3D |
XE6 / Appmethod 1.14 |
System.Math.Vectors.TQuaternion3D |
2D 関係のルーチンは FMX.Types にありますが、バージョンによって増減があります。
機能 | 2D 関係のルーチン |
XE2 | FMX.Types (XE2 固有のルーチンが多い) |
XE3 | FMX.Types |
XE4 | FMX.Types |
XE5 / Appmethod 1.13 |
FMX.Types (計算ルーチンは殆ど存在しない) |
XE6 / Appmethod 1.14 |
FMX.Types (計算ルーチンは殆ど存在しない) |
3D 関係のルーチンは FMX.Types3D にありますが、バージョンによって増減があります。
機能 | 3D 関係のルーチン |
XE2 | FMX.Types3D (XE2 固有のルーチンが多い) |
XE3 | FMX.Types3D |
XE4 | FMX.Types3D |
XE5 / Appmethod 1.13 |
FMX.Types3D (計算ルーチンは殆ど存在しない) |
XE6 / Appmethod 1.14 |
FMX.Types3D (計算ルーチンは殆ど存在しない) |
基本的に、独立したルーチンは各レコードにある演算子のオーバーロード及びメソッドへ集約されていく傾向があります。つまり、FireMoneky 固有の実装ではなく (VCL でも使える) RTL での汎用的な実装の方向へ進んでいます。
BACK |