QAbstractAspect Class


QAbstractAspect is the base class for aspects that provide a vertical slice of behavior. More...

Header: #include <Qt3DCore/QAbstractAspect>
qmake: QT += 3dcore
Inherits: QObject
Inherited By:

Qt3DAnimation::QAnimationAspect, Qt3DInput::QInputAspect, Qt3DLogic::QLogicAspect, and Qt3DRender::QRenderAspect

Public Functions

QAbstractAspect(QObject *parent = nullptr)
void scheduleSingleShotJob(const Qt3DCore::QAspectJobPtr &job)
  • 31 public functions inherited from QObject

Static Public Members

const QMetaObject staticMetaObject
  • 9 static public members inherited from QObject

Protected Functions

void registerBackendType(const Qt3DCore::QBackendNodeMapperPtr &functor)
void registerBackendType(const QMetaObject &obj, const Qt3DCore::QBackendNodeMapperPtr &functor)
Qt3DCore::QNodeId rootEntityId() const
void unregisterBackendType()
void unregisterBackendType(const QMetaObject &)
  • 9 protected functions inherited from QObject


QT3D_REGISTER_ASPECT(name, AspectType)

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 2 signals inherited from QObject

Detailed Description

QAbstractAspect is the base class for aspects that provide a vertical slice of behavior.

Member Function Documentation

QAbstractAspect::QAbstractAspect(QObject *parent = nullptr)

Constructs a new QAbstractAspect with parent

[protected] void QAbstractAspect::registerBackendType(const Qt3DCore::QBackendNodeMapperPtr &functor)

Registers backend with functor.

[protected] void QAbstractAspect::registerBackendType(const QMetaObject &obj, const Qt3DCore::QBackendNodeMapperPtr &functor)

Registers backend with obj and functor.

[protected] Qt3DCore::QNodeId QAbstractAspect::rootEntityId() const

Returns root entity node id.

void QAbstractAspect::scheduleSingleShotJob(const Qt3DCore::QAspectJobPtr &job)

[protected] void QAbstractAspect::unregisterBackendType()

[protected] void QAbstractAspect::unregisterBackendType(const QMetaObject &)

Related Non-Members

typedef Qt3DCore::QAspectJobPtr

A shared pointer for QAspectJob.

typedef Qt3DCore::QBackendNodeMapperPtr

A shared pointer for QBackendNodeMapper.

Macro Documentation

QT3D_REGISTER_ASPECT(name, AspectType)

Convenience macro for registering AspectType for instantiation by the currently set Qt3DCore::QAspectFactory. This makes it possible to create an instance of AspectType in the aspect thread by later passing name to Qt3DCore::QAspectEngine::registerAspect(const QString &name).

Note: It is also possible to register a new aspect without using this macro by instead using Qt3DCore::QAspectEngine::registerAspect(QAbstractAspect *aspect) which will handle moving a previously created aspect instance to the aspect thread context.

KDAB has published a few articles about writing custom Qt3D aspects on their blog. These provide an excellent starting point if you wish to learn more about it.

© 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.