QTransform Class
class Qt3DCore::QTransformメッシュに対して変換を実行するために使用する。詳細...
Header: | #include <QTransform> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3DCore) target_link_libraries(mytarget PRIVATE Qt6::3DCore) |
qmake: | QT += 3dcore |
In QML: | Transform |
Inherits: | Qt3DCore::QComponent |
Status: | Deprecated |
プロパティ
|
パブリック関数
QTransform(Qt3DCore::QNode *parent = nullptr) | |
QMatrix4x4 | matrix() const |
QQuaternion | rotation() const |
float | rotationX() const |
float | rotationY() const |
float | rotationZ() const |
float | scale() const |
QVector3D | scale3D() const |
QVector3D | translation() const |
QMatrix4x4 | worldMatrix() const |
パブリックスロット
void | setMatrix(const QMatrix4x4 &matrix) |
void | setRotation(const QQuaternion &rotation) |
void | setRotationX(float rotationX) |
void | setRotationY(float rotationY) |
void | setRotationZ(float rotationZ) |
void | setScale(float scale) |
void | setScale3D(const QVector3D &scale) |
void | setTranslation(const QVector3D &translation) |
シグナル
void | matrixChanged() |
void | rotationChanged(const QQuaternion &rotation) |
void | rotationXChanged(float rotationX) |
void | rotationYChanged(float rotationY) |
void | rotationZChanged(float rotationZ) |
void | scale3DChanged(const QVector3D &scale) |
void | scaleChanged(float scale) |
void | translationChanged(const QVector3D &translation) |
void | worldMatrixChanged(const QMatrix4x4 &worldMatrix) |
静的パブリック・メンバー
QQuaternion | fromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis) |
QQuaternion | fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2) |
QQuaternion | fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2, const QVector3D &axis3, float angle3) |
QQuaternion | fromAxisAndAngle(const QVector3D &axis, float angle) |
QQuaternion | fromAxisAndAngle(float x, float y, float z, float angle) |
QQuaternion | fromEulerAngles(const QVector3D &eulerAngles) |
QQuaternion | fromEulerAngles(float pitch, float yaw, float roll) |
QMatrix4x4 | rotateAround(const QVector3D &point, float angle, const QVector3D &axis) |
QMatrix4x4 | rotateFromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis) |
詳細説明
QTransformコンポーネントは、複数のQEntity'間で共有することはできません。トランスフォームは、QVector3D scale、QQuaternion rotation、QVector3D translation コンポーネントとして保持されます。トランスフォームはこの順番でメッシュに適用されます。QTransform::matrix プロパティが設定されると、これらのトランスフォーム コンポーネントに分解され、対応するシグナルが発行されます。
QTransformを設定するために、いくつかのヘルパー関数が提供されています。fromAxisAndAngle とfromAxesAndAngles を使って特定の軸周りの回転を設定し、fromEulerAngles を使ってオイラー角に基づく回転を設定し、rotateAround を使ってローカル原点に対する特定の点周りのオブジェクトを回転させることができます。
プロパティ ドキュメント
matrix : QMatrix4x4
トランスフォームのQMatrix4x4 を保持します。
注意: matrix プロパティが設定されると、並進、回転、スケールの各成分に分解されます。
アクセス関数
QMatrix4x4 | matrix() const |
void | setMatrix(const QMatrix4x4 &matrix) |
通知シグナル:
void | matrixChanged() |
rotation : QQuaternion
変換の回転をQQuaternion として保持する。
アクセス関数
QQuaternion | rotation() const |
void | setRotation(const QQuaternion &rotation) |
通知シグナル:
void | rotationChanged(const QQuaternion &rotation) |
rotationX : float
変換の x 回転をオイラー角として保持します。
アクセス関数:
float | rotationX() const |
void | setRotationX(float rotationX) |
ノーティファイアシグナル:
void | rotationXChanged(float rotationX) |
rotationY : float
変換の y 回転をオイラー角として保持します。
アクセス関数
float | rotationY() const |
void | setRotationY(float rotationY) |
Notifierシグナル:変換のz回転をオイラー角として保持します:
void | rotationYChanged(float rotationY) |
rotationZ : float
変換のz回転をオイラー角として保持します。
アクセス関数
float | rotationZ() const |
void | setRotationZ(float rotationZ) |
ノーティファイアシグナル
void | rotationZChanged(float rotationZ) |
scale : float
変換の一様なスケールを保持する。スケールがsetScale3D で設定されている場合、x 値のみを保持する。
アクセス関数:
float | scale() const |
void | setScale(float scale) |
ノーティファイアシグナル:
void | scaleChanged(float scale) |
scale3D : QVector3D
変換のスケールをQVector3D として保持する。
アクセス関数:
QVector3D | scale3D() const |
void | setScale3D(const QVector3D &scale) |
ノーティファイアシグナル:
void | scale3DChanged(const QVector3D &scale) |
translation : QVector3D
変換の平行移動量をQVector3D のように保持する。
アクセス関数:
QVector3D | translation() const |
void | setTranslation(const QVector3D &translation) |
ノーティファイアシグナル:
void | translationChanged(const QVector3D &translation) |
[read-only]
worldMatrix : const QMatrix4x4
変換のワールド変換行列を保持する。これは、QTransform コンポーネントが、QEntity によって参照されていると仮定する。 これにより、サブツリーのQEntity 部分が、そのローカル変換が変更されていなくても、ワールド内で変換されたときを識別することがより便利になる。
アクセス関数:
QMatrix4x4 | worldMatrix() const |
通知シグナル:
void | worldMatrixChanged(const QMatrix4x4 &worldMatrix) |
メンバ関数 ドキュメント
[explicit]
QTransform::QTransform(Qt3DCore::QNode *parent = nullptr)
parent を持つ新しい QTransform を構築する。
[static invokable]
QQuaternion QTransform::fromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)
軸xAxis,yAxis およびzAxis から回転を定義する QQuaterniom を作成します.
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[static invokable]
QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2)
axis1,angle1,axis2,angle2 からQQuaternion を作成します。結果のQQuaternion を返します。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[static invokable]
QQuaternion QTransform::fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2, const QVector3D &axis3, float angle3)
axis1,angle1,axis2,angle2,axis3,angle3 からQQuaternion を作成します。結果のQQuaternion を返します。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[static invokable]
QQuaternion QTransform::fromAxisAndAngle(const QVector3D &axis, float angle)
axis とangle からQQuaternion を作成します。結果のQQuaternion を返します。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[static invokable]
QQuaternion QTransform::fromAxisAndAngle(float x, float y, float z, float angle)
x,y,z,angle からQQuaternion を作成します。結果のQQuaternion を返します。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[static invokable]
QQuaternion QTransform::fromEulerAngles(const QVector3D &eulerAngles)
eulerAngles からQQuaternion を作成します。結果のQQuaternion を返します。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[static invokable]
QQuaternion QTransform::fromEulerAngles(float pitch, float yaw, float roll)
pitch,yaw,roll からQQuaternion を作成します。結果のQQuaternion を返します。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[static invokable]
QMatrix4x4 QTransform::rotateAround(const QVector3D &point, float angle, const QVector3D &axis)
point を中心にaxis とangle から回転行列を作成します。結果としてQMatrix4x4 を返します。
注: この関数はメタオブジェクトシステム経由でも QML からも呼び出すことができます。Q_INVOKABLE を参照してください。
[static invokable]
QMatrix4x4 QTransform::rotateFromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis)
xAxis,yAxis,zAxis を軸として定義された回転行列を返します.
注意 :この関数はメタオブジェクトシステム経由でも QML からも呼び出すことができます。Q_INVOKABLE を参照してください。
QMatrix4x4 QTransform::worldMatrix() const
QEntity 階層の一部である可能性のあるQEntity によって参照された場合、QTransform に関連付けられたワールド変換行列を返します。
注: プロパティ worldMatrix のゲッター関数です。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。