- Qt 6.5
- Qt 3D
- C++ Classes
- Qt3DCore
- QAspectJob
- Qt 6.5.2 Reference Documentation

# QAspectJob Class

class Qt3DCore::QAspectJob

The base class for jobs executed in an aspect. More...

Header: | #include <Qt3DCore/QAspectJob>
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3dcore) target_link_libraries(mytarget PRIVATE Qt6::3dcore)
qmake: | QT += 3dcore

- List of all members, including inherited members

## Public Functions

void | addDependency(QWeakPointer<Qt3DCore::QAspectJob> dependency)
const std::vector<QWeakPointer<QAspectJob>> & | dependencies() const
virtual bool | isRequired()
virtual void | postFrame(Qt3DCore::QAspectEngine *aspectEngine)
void | removeDependency(QWeakPointer<Qt3DCore::QAspectJob> dependency)
virtual void | run() = 0

## Detailed Description

## Member Function Documentation

### void QAspectJob::addDependency(QWeakPointer<Qt3DCore::QAspectJob> dependency)

Adds dependency to the aspect job.

### const std::vector<QWeakPointer<QAspectJob>> &QAspectJob::dependencies() const

Returns the dependencies of the aspect job.

### `[virtual]` bool QAspectJob::isRequired()

Should return true (default) if the job has actually something to do. If returning false, the job will not be scheduled (but it's dependencies will be).

### `[virtual]` void QAspectJob::postFrame(Qt3DCore::QAspectEngine *aspectEngine)

Called in the main thread when all the jobs have completed. This is a good point to push changes back to the frontend. aspectEngine is the engine responsible for the run loop.

### void QAspectJob::removeDependency(QWeakPointer<Qt3DCore::QAspectJob> dependency)

Removes the given dependency from aspect job.

### `[pure virtual]` void QAspectJob::run()

Executes the job. This is called on a separate thread by the scheduler.