QLayer Class | Qt 3D 5.12.11

- Qt 5.12
- Qt 3D
- C++ Classes
- QLayer
- Qt 5.12.11 Reference Documentation

# QLayer 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

- List of all members, including inherited members
- Obsolete members

## Properties

- recursive : bool

- 1 property inherited from Qt3DCore::QComponent
- 3 properties inherited from Qt3DCore::QNode
- 1 property inherited from QObject

## Public Functions

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

- 2 public functions inherited from Qt3DCore::QComponent
- 13 public functions inherited from Qt3DCore::QNode
- 31 public functions inherited from QObject

## Signals

void | recursiveChanged()

- 3 signals inherited from Qt3DCore::QComponent
- 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

- 1 public slot inherited from Qt3DCore::QComponent
- 3 public slots inherited from Qt3DCore::QNode
- 1 public slot inherited from QObject
- 2 protected functions inherited from Qt3DCore::QNode
- 9 protected functions inherited from QObject

## Detailed Description

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

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.