QScene2D Class
(Qt3DRender::Quick::QScene2D)This class enables rendering qml into a texture, which then can be used as a part of 3D scene. More...
Header: | #include <Qt3DQuickScene2D/QScene2D> |
qmake: | QT += 3dquickscene2d |
Since: | Qt 5.9 |
Instantiated By: | Scene2D |
Inherits: | Qt3DCore::QNode |
Public Types
enum | RenderPolicy { Continuous, SingleShot } |
Properties
- item : QQuickItem*
- mouseEnabled : bool
- output : Qt3DRender::QRenderTargetOutput*
- renderPolicy : QScene2D::RenderPolicy
- 3 properties inherited from Qt3DCore::QNode
- 1 property inherited from QObject
Public Functions
QScene2D(Qt3DCore::QNode *parent = nullptr) | |
void | addEntity(Qt3DCore::QEntity *entity) |
QVector<Qt3DCore::QEntity *> | entities() |
bool | isMouseEnabled() const |
QQuickItem * | item() const |
Qt3DRender::QRenderTargetOutput * | output() const |
void | removeEntity(Qt3DCore::QEntity *entity) |
QScene2D::RenderPolicy | renderPolicy() const |
- 13 public functions inherited from Qt3DCore::QNode
- 31 public functions inherited from QObject
Public Slots
void | setItem(QQuickItem *item) |
void | setMouseEnabled(bool enabled) |
void | setOutput(Qt3DRender::QRenderTargetOutput *output) |
void | setRenderPolicy(QScene2D::RenderPolicy policy) |
- 3 public slots inherited from Qt3DCore::QNode
- 1 public slot inherited from QObject
Signals
void | itemChanged(QQuickItem *item) |
void | mouseEnabledChanged(bool enabled) |
void | outputChanged(Qt3DRender::QRenderTargetOutput *output) |
void | renderPolicyChanged(QScene2D::RenderPolicy policy) |
- 4 signals inherited from Qt3DCore::QNode
- 2 signals inherited from QObject
Static Public Members
const QMetaObject | staticMetaObject |
- 9 static public members inherited from QObject
Additional Inherited Members
- 2 protected functions inherited from Qt3DCore::QNode
- 9 protected functions inherited from QObject
Detailed Description
This class enables rendering qml into a texture, which then can be used as a part of 3D scene.
This class uses QQuickRenderControl to render the given QQuickItem into an offscreen surface, which is attached to a texture provided by the user. This allows the component to directly render into the texture without intermediate copy and the user to freely specify how the texture is used in the 3D scene.
The entities using the QScene2D can be associated with the class to enable interaction with the item; if an entity has a QObjectPicker component, the pick events from that picker are sent to the QScene2D and converted to mouse events and finally sent to the item.
Member Type Documentation
enum QScene2D::RenderPolicy
This enum type describes types of render policies available.
Property Documentation
item : QQuickItem*
Holds the QQuickItem, which is rendered by QScene2D to the texture.
Access functions:
QQuickItem * | item() const |
void | setItem(QQuickItem *item) |
Notifier signal:
void | itemChanged(QQuickItem *item) |
mouseEnabled : bool
Holds whether mouse events are enabled for the rendered item. The mouse events are generated from object picking events of the entities added to the QScene2D. Mouse is enabled by default.
Note: Events are delayed by one frame due to object picking happening in the backend.
Access functions:
bool | isMouseEnabled() const |
void | setMouseEnabled(bool enabled) |
Notifier signal:
void | mouseEnabledChanged(bool enabled) |
output : Qt3DRender::QRenderTargetOutput*
Holds the QRenderTargetOutput, which specifies where the QScene2D is rendering to.
Access functions:
Qt3DRender::QRenderTargetOutput * | output() const |
void | setOutput(Qt3DRender::QRenderTargetOutput *output) |
Notifier signal:
void | outputChanged(Qt3DRender::QRenderTargetOutput *output) |
renderPolicy : QScene2D::RenderPolicy
Holds the render policy of this Scene2D.
Access functions:
QScene2D::RenderPolicy | renderPolicy() const |
void | setRenderPolicy(QScene2D::RenderPolicy policy) |
Notifier signal:
void | renderPolicyChanged(QScene2D::RenderPolicy policy) |
Member Function Documentation
QScene2D::QScene2D(Qt3DCore::QNode *parent = nullptr)
The constructor creates a new QScene2D instance with the specified parent.
void QScene2D::addEntity(Qt3DCore::QEntity *entity)
Adds an entity to the the QScene2D object. If the entities have QObjectPicker, the pick events from that entity are sent to QScene2D and converted to mouse events.
QVector<Qt3DCore::QEntity *> QScene2D::entities()
Retrieve entities associated with the QScene2D.
void QScene2D::removeEntity(Qt3DCore::QEntity *entity)
Removes an entity from the the QScene2D object.
© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.