QAbstractAspect Class

(Qt3DCore::QAbstractAspect)

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
typedef QAspectJobPtr
typedef QBackendNodeMapperPtr

Macros

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.

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