QAbstractFunctor Class

class Qt3DRender::QAbstractFunctor

QAbstractFunctor is an abstract base class for all functors. More...

Header: #include <QAbstractFunctor>
qmake: QT += 3drender
Since: Qt 5.7
Inherited By:

Qt3DRender::QBufferDataGenerator, Qt3DRender::QTextureGenerator, and Qt3DRender::QTextureImageDataGenerator

This class was introduced in Qt 5.7.

Public Functions

virtual ~QAbstractFunctor()
const T *functor_cast(const Qt3DRender::QAbstractFunctor *other) const
virtual qintptr id() const = 0



Detailed Description

The QAbstractFunctor is used as a base class for all functors and data generators in Qt3DRender 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] QAbstractFunctor::~QAbstractFunctor()


template <typename T> const T *QAbstractFunctor::functor_cast(const Qt3DRender::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


This macro assigns functor id to the Class, which is used by QAbstractFunctor::functor_cast to determine if the cast can be done.