QAbstractFunctor Class
class Qt3DCore::QAbstractFunctorQAbstractFunctor is an abstract base class for all functors. More...
Header: | #include <QAbstractFunctor> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3DCore) target_link_libraries(mytarget PRIVATE Qt6::3DCore) |
qmake: | QT += 3dcore |
Inherited By: | Qt3DRender::QTextureGenerator and Qt3DRender::QTextureImageDataGenerator |
Public Functions
virtual | ~QAbstractFunctor() |
const T * | functor_cast(const Qt3DCore::QAbstractFunctor *other) const |
virtual qintptr | id() const = 0 |
Macros
QT3D_FUNCTOR(Class) |
Detailed Description
The QAbstractFunctor is used as a base class for all functors and data generators in Qt3DCore module.
When user defines a new functor or generator, they need to implement the QAbstractFunctor::id() method, which should be done using the QT3D_FUNCTOR
macro in the class definition.
Member Function Documentation
[virtual noexcept]
QAbstractFunctor::~QAbstractFunctor()
Desctructor
template <typename T> const T *QAbstractFunctor::functor_cast(const Qt3DCore::QAbstractFunctor *other) const
This method is used to cast functor other to type T if the other is of type T (or of subclass); otherwise returns 0. This method works similarly to qobject_cast(), except with functors derived from QAbstractFunctor.
Warning: If T was not declared with QT3D_FUNCTOR macro, then the results are undefined.
[pure virtual]
qintptr QAbstractFunctor::id() const
Returns a pointer to the id of the functor.
Macro Documentation
QT3D_FUNCTOR(Class)
This macro assigns functor id to the Class, which is used by QAbstractFunctor::functor_cast to determine if the cast can be done.
© 2024 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.