QCustom3DItem Class
QCustom3DItem クラスは、グラフにカスタム項目を追加します。詳細...
Header: | #include <QCustom3DItem> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
qmake: | QT += datavisualization |
Since: | QtDataVisualization 1.1 |
In QML: | Custom3DItem |
Inherits: | QObject |
Inherited By: |
プロパティ
|
|
パブリック関数
QCustom3DItem(QObject *parent = nullptr) | |
QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr) | |
virtual | ~QCustom3DItem() |
bool | isPositionAbsolute() const |
bool | isScalingAbsolute() const |
bool | isShadowCasting() const |
bool | isVisible() const |
QString | meshFile() const |
QVector3D | position() const |
QQuaternion | rotation() |
QVector3D | scaling() const |
void | setMeshFile(const QString &meshFile) |
void | setPosition(const QVector3D &position) |
void | setPositionAbsolute(bool positionAbsolute) |
void | setRotation(const QQuaternion &rotation) |
void | setRotationAxisAndAngle(const QVector3D &axis, float angle) |
void | setScaling(const QVector3D &scaling) |
void | setScalingAbsolute(bool scalingAbsolute) |
void | setShadowCasting(bool enabled) |
void | setTextureFile(const QString &textureFile) |
void | setTextureImage(const QImage &textureImage) |
void | setVisible(bool visible) |
QString | textureFile() const |
シグナル
void | meshFileChanged(const QString &meshFile) |
void | positionAbsoluteChanged(bool positionAbsolute) |
void | positionChanged(const QVector3D &position) |
void | rotationChanged(const QQuaternion &rotation) |
void | scalingAbsoluteChanged(bool scalingAbsolute) |
void | scalingChanged(const QVector3D &scaling) |
void | shadowCastingChanged(bool shadowCasting) |
void | textureFileChanged(const QString &textureFile) |
void | visibleChanged(bool visible) |
QAbstract3DGraph::addCustomItem()も参照してください 。
プロパティ ドキュメント
meshFile : QString
このプロパティは、アイテムのメッシュ ファイル名を保持します。
ファイル内のアイテムは、Wavefront OBJ フォーマットで、頂点、法線、UV を含む必要があります。また、三角形である必要があります。ファイルに法線または UV がない場合、読み込みは失敗し、コンソール出力にエラーメッセージが表示され、アイテムはレンダリングされません。
アクセス関数
QString | meshFile() const |
void | setMeshFile(const QString &meshFile) |
通知シグナル
void | meshFileChanged(const QString &meshFile) |
position : QVector3D
このプロパティは、アイテムの位置をQVector3D として保持します。
デフォルトはQVector3D(0.0, 0.0, 0.0)
です。
アイテム位置は、positionAbsolute プロパティによって、データ座標または絶対座標のいずれかで指定されます。絶対座標を使用する と 、-1.0...1.0
間の値は軸範囲内にな り ます。
注: positionAbsolute がfalse
の場合、軸の範囲外に配置されたアイテムはレンダリングされません。ただし、アイテムが部分的に表示されるQCustom3DVolume であり、scalingAbsolute がfalse
でもある場合を除きます。その場合、ボリュームの可視部分がレンダリングされる。
アクセス関数:
QVector3D | position() const |
void | setPosition(const QVector3D &position) |
通知シグナル:
void | positionChanged(const QVector3D &position) |
positionAbsoluteも参照 。
positionAbsolute : bool
このプロパティは、アイテムの位置をデータ座標で扱うか、絶対座標で扱うかを保持します。
デフォルトはfalse
です。 絶対座標を持つアイテムは常にレンダリングされますが、データ座標を持つアイテムは軸の範囲内にある場合のみレンダリングされます。
アクセス関数:
bool | isPositionAbsolute() const |
void | setPositionAbsolute(bool positionAbsolute) |
Notifier シグナル:
void | positionAbsoluteChanged(bool positionAbsolute) |
positionも参照。
rotation : QQuaternion
このプロパティは、アイテムの回転をQQuaternion として保持します。
デフォルトはQQuaternion(0.0, 0.0, 0.0, 0.0)
。
アクセス関数:
QQuaternion | rotation() |
void | setRotation(const QQuaternion &rotation) |
ノーティファイアシグナル:
void | rotationChanged(const QQuaternion &rotation) |
scaling : QVector3D
このプロパティは、アイテムのスケーリングをQVector3D として保持します。
デフォルトはQVector3D(0.1, 0.1, 0.1)
です。
アイテムのスケーリングは、scalingAbsolute プロパティによって、データ値か絶対値のいずれかになります。絶対値として解釈されるデフォルトのベクトルは、アイテムのメッシュが正規化され、グラフのアスペクト比がデフォルトから変更されていない場合、アイテムをグラフの高さの10%に設定します。
アクセス関数:
QVector3D | scaling() const |
void | setScaling(const QVector3D &scaling) |
通知シグナル:
void | scalingChanged(const QVector3D &scaling) |
scalingAbsoluteも参照してください 。
[since QtDataVisualization 1.2]
scalingAbsolute : bool
このプロパティは、アイテムのスケーリングをデータ値で扱うか、絶対値で扱うかを保持します。
デフォルトはtrue
です。
絶対値スケーリングを持つアイテムは、軸の範囲に関係なく、同じサイズでレンダリングされます。デー タ ス ケー リ ン グ を持つ項目は、 軸の範囲に従っ て見かけ上のサ イ ズが変わ り ます。positionAbsolute がtrue
の場合、 こ のプ ロ パテ ィ は無視 さ れ、 拡縮は絶対値 と し て解釈 さ れます。アイテムに回転がある場合、データ スケーリングは回転していないアイテムで計算されます。同様に、QCustom3DVolume 項目の場合、範囲のクリッピングは回転していない項目で計算されます。
注: QCustom3DLabel アイテムまたはpolar グラフで使用されるカスタム アイテムでは、絶対スケーリングのみがサポートされます。
注 : カスタム項目のメッシュは、範囲[-1 ,1]
に正規化されていなければなりません。
このプロパティは QtDataVisualization 1.2 で導入されました。
アクセス関数
bool | isScalingAbsolute() const |
void | setScalingAbsolute(bool scalingAbsolute) |
Notifier シグナル:
void | scalingAbsoluteChanged(bool scalingAbsolute) |
scaling およびpositionAbsoluteも参照してください 。
shadowCasting : bool
このプロパティは、アイテムのシャドウキャストが有効かどうかを保持します。
デフォルトはtrue
です。false
の場合、アイテムはQAbstract3DGraph::ShadowQuality に関係なく影を落としません。
アクセス関数:
bool | isShadowCasting() const |
void | setShadowCasting(bool enabled) |
Notifier シグナル:
void | shadowCastingChanged(bool shadowCasting) |
textureFile : QString
このプロパティは、アイテムのテクスチャファイル名を保持する。
このプロパティとテクスチャイメージの両方が未設定の場合、グレーのソリッドテクスチャが使用されます。
注意: メモリを節約するために、ファイルからロードされたQImage は、テクスチャが作成された後にクリアされます。
アクセス関数
QString | textureFile() const |
void | setTextureFile(const QString &textureFile) |
Notifier シグナル:
void | textureFileChanged(const QString &textureFile) |
visible : bool
このプロパティは、アイテムの可視性を保持します。
デフォルトはtrue
です。
アクセス関数
bool | isVisible() const |
void | setVisible(bool visible) |
通知シグナル:
void | visibleChanged(bool visible) |
メンバ関数ドキュメント
[explicit]
QCustom3DItem::QCustom3DItem(QObject *parent = nullptr)
指定されたparent でカスタム 3D アイテムを構築します。
[explicit]
QCustom3DItem::QCustom3DItem(const QString &meshFile, const QVector3D &position, const QVector3D &scaling, const QQuaternion &rotation, const QImage &texture, QObject *parent = nullptr)
指定されたmeshFile,position,scaling,rotation,texture 画像、およびオプションのparent を持つカスタム 3D アイテムを構築します。
[virtual noexcept]
QCustom3DItem::~QCustom3DItem()
カスタム 3D アイテムを削除します。
[invokable]
void QCustom3DItem::setRotationAxisAndAngle(const QVector3D &axis, float angle)
axis とangle から回転四元数を作成する便利な関数です。
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
rotationも参照して ください。
void QCustom3DItem::setTextureImage(const QImage &textureImage)
アイテムのQImage としてtextureImage の値を設定します。テクスチャのデフォルトは灰色無地です。
メモ: メモリを節約するために、テクスチャが作成されると、指定されたQImage はクリアされます。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。