W3cubDocs

/Qt 5.15

QLayer Class

class Qt3DRender::QLayer

The QLayer class provides a way of filtering which entities will be rendered. More...

Header: #include <QLayer>
qmake: QT += 3drender
Since: Qt 5.5
Instantiated By: Layer
Inherits: Qt3DCore::QComponent

This class was introduced in Qt 5.5.

Properties

Public Functions

QLayer(Qt3DCore::QNode *parent = nullptr)
bool recursive() const
void setRecursive(bool recursive)

Signals

void recursiveChanged()

Detailed Description

Qt3DRender::QLayer works in conjunction with the Qt3DRender::QLayerFilter in the FrameGraph.

A QLayer can be applied to a subtree of entities by setting the recursive property to true.

 #include <Qt3DCore/QEntity>
 #include <Qt3DRender/QGeometryRenderer>
 #include <Qt3DRender/QLayer>
 #include <Qt3DRender/QLayerFilter>
 #include <Qt3DRender/QViewport>

// Scene
Qt3DCore::QEntity *rootEntity = new Qt3DCore::Qt3DCore::QEntity;

Qt3DCore::QEntity *renderableEntity = new Qt3DCore::Qt3DCore::QEntity(rootEntity);
Qt3DRender::QGeometryRenderer *geometryRenderer = new Qt3DCore::QGeometryRenderer(renderableEntity);
Qt3DRender::QLayer *layer1 = new Qt3DCore::QLayer(renderableEntity);
layer1->setRecursive(true);
renderableEntity->addComponent(geometryRenderer);
renderableEntity->addComponent(layer1);

...

// FrameGraph
Qt3DRender::QViewport *viewport = new Qt3DRender::QViewport;
Qt3DRender::QLayerFilter *layerFilter = new Qt3DRender::QLayerFilter(viewport);
layerFilter->addLayer(layer1);

...

See also Qt3DRender::QLayerFilter.

Property Documentation

recursive : bool

Specifies if the layer is also applied to the entity subtree.

Access functions:

bool recursive() const
void setRecursive(bool recursive)

Notifier signal:

void recursiveChanged()

Member Function Documentation

QLayer::QLayer(Qt3DCore::QNode *parent = nullptr)

Constructs a new QLayer with the specified parent.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qt3drender-qlayer.html