QScene2D Class

class Qt3DRender::Quick::QScene2D

このクラスはqmlをテクスチャにレンダリングし、3Dシーンの一部として使用できるようにします。さらに...

Header: #include <Qt3DQuickScene2D/QScene2D>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dquickscene2d)
target_link_libraries(mytarget PRIVATE Qt6::3dquickscene2d)
qmake: QT += 3dquickscene2d
In QML: Scene2D
Inherits: Qt3DCore::QNode
Status: Deprecated

パブリックタイプ

enum RenderPolicy { Continuous, SingleShot }

プロパティ

パブリック関数

QScene2D(Qt3DCore::QNode *parent = nullptr)
void addEntity(Qt3DCore::QEntity *entity)
QList<Qt3DCore::QEntity *> entities() const
bool isMouseEnabled() const
QQuickItem *item() const
Qt3DRender::QRenderTargetOutput *output() const
void removeEntity(Qt3DCore::QEntity *entity)
Qt3DRender::Quick::QScene2D::RenderPolicy renderPolicy() const

パブリックスロット

void setItem(QQuickItem *item)
void setMouseEnabled(bool enabled)
void setOutput(Qt3DRender::QRenderTargetOutput *output)
void setRenderPolicy(Qt3DRender::Quick::QScene2D::RenderPolicy policy)

シグナル

void itemChanged(QQuickItem *item)
void mouseEnabledChanged(bool enabled)
void outputChanged(Qt3DRender::QRenderTargetOutput *output)
void renderPolicyChanged(Qt3DRender::Quick::QScene2D::RenderPolicy policy)

詳しい説明

このクラスは、QQuickRenderControl を使用して、与えられたQQuickItem をオフスクリーンのサーフェスにレンダリングします。サーフェスは、ユーザーによって提供されたテクスチャにアタッチされます。これにより、コンポーネントは中間コピーなしでテクスチャに直接レンダリングでき、ユーザーはテクスチャが3Dシーンでどのように使用されるかを自由に指定できます。

QScene2Dを使用するエンティティは、アイテムとのインタラクションを可能にするためにクラスと関連付けることができます。エンティティにQObjectPicker コンポーネントがある場合、そのピッカーからのピックイベントはQScene2Dに送られ、マウスイベントに変換され、最終的にアイテムに送られます。

注意: マウスイベントのみがサポートされます。アイテムはキーボード入力をサポートしていません。

メンバタイプのドキュメント

enum QScene2D::RenderPolicy

この列挙型は、利用可能なレンダーポリシーのタイプを記述する。

定数説明
Qt3DRender::Quick::QScene2D::Continuous0Scene2D は連続的にレンダリングしている。これはデフォルトのレンダーポリシーです。
Qt3DRender::Quick::QScene2D::SingleShot1Scene2D はテクスチャに一度だけレンダリングし、その後レンダリングに割り当てられたリソースは解放されます。

プロパティ ドキュメント

item : QQuickItem*

QScene2D によってテクスチャにレンダリングされるQQuickItem を保持します。

アクセス関数:

QQuickItem *item() const
void setItem(QQuickItem *item)

Notifier シグナル:

void itemChanged(QQuickItem *item)

mouseEnabled : bool

レンダリングされたアイテムのマウスイベントが有効かどうかを保持します。マウスイベントは、QScene2D に追加されたエンティティのオブジェクトピッキングイベントから生成されます。 デフォルトでマウスは有効になっています。

注: バックエンドでオブジェクトピッキングが発生するため、イベントは1フレーム遅延します。

アクセス関数

bool isMouseEnabled() const
void setMouseEnabled(bool enabled)

Notifier シグナル:

void mouseEnabledChanged(bool enabled)

output : Qt3DRender::QRenderTargetOutput*

QScene2D のレンダリング先を指定するQRenderTargetOutput を保持します。

アクセス関数

Qt3DRender::QRenderTargetOutput *output() const
void setOutput(Qt3DRender::QRenderTargetOutput *output)

ノーティファイアシグナル:

void outputChanged(Qt3DRender::QRenderTargetOutput *output)

renderPolicy : RenderPolicy

このScene2D のレンダーポリシーを保持する。

アクセス関数:

Qt3DRender::Quick::QScene2D::RenderPolicy renderPolicy() const
void setRenderPolicy(Qt3DRender::Quick::QScene2D::RenderPolicy policy)

Notifier シグナル:

void renderPolicyChanged(Qt3DRender::Quick::QScene2D::RenderPolicy policy)

メンバ関数ドキュメント

[explicit] QScene2D::QScene2D(Qt3DCore::QNode *parent = nullptr)

コンストラクタは、指定されたparent で新しい QScene2D インスタンスを作成します。

void QScene2D::addEntity(Qt3DCore::QEntity *entity)

QScene2D オブジェクトにentity を追加します。エンティティがQObjectPicker を持っている場合、そのエンティティからのピックイベントはQScene2D に送られ、マウスイベントに変換されます。

QList<Qt3DCore::QEntity *> QScene2D::entities() const

QScene2D に関連付けられたエンティティを取得する。

void QScene2D::removeEntity(Qt3DCore::QEntity *entity)

QScene2D オブジェクトからentity を削除します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。