[][src]Struct qt_3d_render::QComputeCommand

#[repr(C)]
pub struct QComputeCommand { /* fields omitted */ }

QComponent to issue work for the compute shader on GPU

C++ class: Qt3DRender::QComputeCommand.

C++ documentation:

QComponent to issue work for the compute shader on GPU

A Qt3DRender::QComputeCommand is used to issue work for the compute shader. The compute shader is specified in the QMaterial component of the same entity the QComputeCommand is added to. The workGroupX, workGroupY and workGroupZ properties specify the work group sizes for the compute shader invocation. Qt3DRender::QDispatchCompute node needs to be present in the FrameGraph to actually issue the commands.

Note: If the rendering policy is set to Qt3DRender::QRenderSettings::OnDemand and there are no changes to the scene, the ComputeCommand will not be invoked repeatedly. The Qt3DRender::QRenderSettings::Always render policy must be set for the ComputeCommand to be repeatedly invoked if there are no other changes to the scene that triggers rendering a new frame.

Methods

impl QComputeCommand[src]

pub fn slot_set_work_group_x(&self) -> Receiver<(c_int,)>[src]

Sets the workgroup for the first dimension to workGroupX.

Returns a built-in Qt slot Qt3DRender::QComputeCommand::setWorkGroupX that can be passed to qt_core::Signal::connect.

C++ documentation:

Sets the workgroup for the first dimension to workGroupX.

Note: Setter function for property workGroupX.

See also workGroupX().

pub fn slot_set_work_group_y(&self) -> Receiver<(c_int,)>[src]

Sets the workgroup for the second dimension to workGroupY.

Returns a built-in Qt slot Qt3DRender::QComputeCommand::setWorkGroupY that can be passed to qt_core::Signal::connect.

C++ documentation:

Sets the workgroup for the second dimension to workGroupY.

Note: Setter function for property workGroupY.

See also workGroupY().

pub fn slot_set_work_group_z(&self) -> Receiver<(c_int,)>[src]

Sets the workgroup for the third dimension to workGroupZ.

Returns a built-in Qt slot Qt3DRender::QComputeCommand::setWorkGroupZ that can be passed to qt_core::Signal::connect.

C++ documentation:

Sets the workgroup for the third dimension to workGroupZ.

Note: Setter function for property workGroupZ.

See also workGroupZ().

pub fn work_group_x_changed(&self) -> Signal<()>[src]

Specifies X workgroup size.

Returns a built-in Qt signal Qt3DRender::QComputeCommand::workGroupXChanged that can be passed to qt_core::Signal::connect.

C++ documentation:

Specifies X workgroup size.

Access functions:

int workGroupX() const
void setWorkGroupX(int workGroupX)

Notifier signal:

void workGroupXChanged()

pub fn work_group_y_changed(&self) -> Signal<()>[src]

Specifies Y workgroup size.

Returns a built-in Qt signal Qt3DRender::QComputeCommand::workGroupYChanged that can be passed to qt_core::Signal::connect.

C++ documentation:

Specifies Y workgroup size.

Access functions:

int workGroupY() const
void setWorkGroupY(int workGroupY)

Notifier signal:

void workGroupYChanged()

pub fn work_group_z_changed(&self) -> Signal<()>[src]

Specifies Z workgroup size.

Returns a built-in Qt signal Qt3DRender::QComputeCommand::workGroupZChanged that can be passed to qt_core::Signal::connect.

C++ documentation:

Specifies Z workgroup size.

Access functions:

int workGroupZ() const
void setWorkGroupZ(int workGroupZ)

Notifier signal:

void workGroupZChanged()

pub unsafe fn meta_object(&self) -> Ptr<QMetaObject>[src]

Calls C++ function: virtual const QMetaObject* Qt3DRender::QComputeCommand::metaObject() const.

pub unsafe fn new_1a(
    parent: impl CastInto<MutPtr<QNode>>
) -> QBox<QComputeCommand>
[src]

The constructor creates a new Qt3DRender::QComputeCommand instance with the specified parent.

Calls C++ function: [constructor] void Qt3DRender::QComputeCommand::QComputeCommand(Qt3DCore::QNode* parent = …).

C++ documentation:

The constructor creates a new Qt3DRender::QComputeCommand instance with the specified parent.

pub unsafe fn new_0a() -> QBox<QComputeCommand>[src]

QComponent to issue work for the compute shader on GPU

Calls C++ function: [constructor] void Qt3DRender::QComputeCommand::QComputeCommand().

C++ documentation:

QComponent to issue work for the compute shader on GPU

A Qt3DRender::QComputeCommand is used to issue work for the compute shader. The compute shader is specified in the QMaterial component of the same entity the QComputeCommand is added to. The workGroupX, workGroupY and workGroupZ properties specify the work group sizes for the compute shader invocation. Qt3DRender::QDispatchCompute node needs to be present in the FrameGraph to actually issue the commands.

Note: If the rendering policy is set to Qt3DRender::QRenderSettings::OnDemand and there are no changes to the scene, the ComputeCommand will not be invoked repeatedly. The Qt3DRender::QRenderSettings::Always render policy must be set for the ComputeCommand to be repeatedly invoked if there are no other changes to the scene that triggers rendering a new frame.

pub unsafe fn qt_metacall(
    &mut self,
    arg1: Call,
    arg2: c_int,
    arg3: impl CastInto<MutPtr<*mut c_void>>
) -> c_int
[src]

Calls C++ function: virtual int Qt3DRender::QComputeCommand::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3).

pub unsafe fn qt_metacast(
    &mut self,
    arg1: impl CastInto<Ptr<c_char>>
) -> MutPtr<c_void>
[src]

Calls C++ function: virtual void* Qt3DRender::QComputeCommand::qt_metacast(const char* arg1).

pub unsafe fn run_type(&self) -> RunType[src]

Specifies whether the compute command should be performed every frame or manually triggered.

Calls C++ function: Qt3DRender::QComputeCommand::RunType Qt3DRender::QComputeCommand::runType() const.

C++ documentation:

Specifies whether the compute command should be performed every frame or manually triggered.

If set to Continuous, Compute command is executed everyframe. This is the default.

If set to Manual CompouteCommand is executed for a given number of frames and then the component disables itself.

Access functions:

Qt3DRender::QComputeCommand::RunType runType() const
void setRunType(Qt3DRender::QComputeCommand::RunType runType)

Notifier signal:

void runTypeChanged()

This item is available if any(cpp_lib_version="5.13.0", cpp_lib_version="5.14.0").

pub unsafe fn run_type_changed(&mut self)[src]

Specifies whether the compute command should be performed every frame or manually triggered.

Calls C++ function: void Qt3DRender::QComputeCommand::runTypeChanged().

C++ documentation:

Specifies whether the compute command should be performed every frame or manually triggered.

If set to Continuous, Compute command is executed everyframe. This is the default.

If set to Manual CompouteCommand is executed for a given number of frames and then the component disables itself.

Access functions:

Qt3DRender::QComputeCommand::RunType runType() const
void setRunType(Qt3DRender::QComputeCommand::RunType runType)

Notifier signal:

void runTypeChanged()

This item is available if any(cpp_lib_version="5.13.0", cpp_lib_version="5.14.0").

pub unsafe fn set_run_type(&mut self, run_type: RunType)[src]

Specifies whether the compute command should be performed every frame or manually triggered.

Calls C++ function: void Qt3DRender::QComputeCommand::setRunType(Qt3DRender::QComputeCommand::RunType runType).

C++ documentation:

Specifies whether the compute command should be performed every frame or manually triggered.

If set to Continuous, Compute command is executed everyframe. This is the default.

If set to Manual CompouteCommand is executed for a given number of frames and then the component disables itself.

Access functions:

Qt3DRender::QComputeCommand::RunType runType() const
void setRunType(Qt3DRender::QComputeCommand::RunType runType)

Notifier signal:

void runTypeChanged()

This item is available if any(cpp_lib_version="5.13.0", cpp_lib_version="5.14.0").

pub unsafe fn set_work_group_x(&mut self, work_group_x: c_int)[src]

Sets the workgroup for the first dimension to workGroupX.

Calls C++ function: [slot] void Qt3DRender::QComputeCommand::setWorkGroupX(int workGroupX).

C++ documentation:

Sets the workgroup for the first dimension to workGroupX.

Note: Setter function for property workGroupX.

See also workGroupX().

pub unsafe fn set_work_group_y(&mut self, work_group_y: c_int)[src]

Sets the workgroup for the second dimension to workGroupY.

Calls C++ function: [slot] void Qt3DRender::QComputeCommand::setWorkGroupY(int workGroupY).

C++ documentation:

Sets the workgroup for the second dimension to workGroupY.

Note: Setter function for property workGroupY.

See also workGroupY().

pub unsafe fn set_work_group_z(&mut self, work_group_z: c_int)[src]

Sets the workgroup for the third dimension to workGroupZ.

Calls C++ function: [slot] void Qt3DRender::QComputeCommand::setWorkGroupZ(int workGroupZ).

C++ documentation:

Sets the workgroup for the third dimension to workGroupZ.

Note: Setter function for property workGroupZ.

See also workGroupZ().

pub unsafe fn static_meta_object() -> Ref<QMetaObject>[src]

Returns a reference to the staticMetaObject field.

pub unsafe fn tr(
    s: impl CastInto<Ptr<c_char>>,
    c: impl CastInto<Ptr<c_char>>,
    n: c_int
) -> CppBox<QString>
[src]

Calls C++ function: static QString Qt3DRender::QComputeCommand::tr(const char* s, const char* c, int n).

pub unsafe fn tr_utf8(
    s: impl CastInto<Ptr<c_char>>,
    c: impl CastInto<Ptr<c_char>>,
    n: c_int
) -> CppBox<QString>
[src]

Calls C++ function: static QString Qt3DRender::QComputeCommand::trUtf8(const char* s, const char* c, int n).

pub unsafe fn trigger_1a(&mut self, frame_count: c_int)[src]

When the run type is set to Manual, calling trigger will make the compute command be executed for the next frameCount frames. Upon completion of the execution, the enabled property will be set to false.

Calls C++ function: void Qt3DRender::QComputeCommand::trigger(int frameCount = …).

C++ documentation:

When the run type is set to Manual, calling trigger will make the compute command be executed for the next frameCount frames. Upon completion of the execution, the enabled property will be set to false.

This item is available if any(cpp_lib_version="5.13.0", cpp_lib_version="5.14.0").

pub unsafe fn trigger_4a(
    &mut self,
    work_group_x: c_int,
    work_group_y: c_int,
    work_group_z: c_int,
    frame_count: c_int
)
[src]

When the run type is set to Manual, calling trigger will make the compute command be executed for the next frameCount frames. Upon completion of the execution, the enabled property will be set to false. The size of the workgroup previously set will be overridden with workGroupX, workGroupY, workGroupZ.

Calls C++ function: void Qt3DRender::QComputeCommand::trigger(int workGroupX, int workGroupY, int workGroupZ, int frameCount = …).

C++ documentation:

When the run type is set to Manual, calling trigger will make the compute command be executed for the next frameCount frames. Upon completion of the execution, the enabled property will be set to false. The size of the workgroup previously set will be overridden with workGroupX, workGroupY, workGroupZ.

This item is available if any(cpp_lib_version="5.13.0", cpp_lib_version="5.14.0").

pub unsafe fn trigger_0a(&mut self)[src]

When the run type is set to Manual, calling trigger will make the compute command be executed for the next frameCount frames. Upon completion of the execution, the enabled property will be set to false.

Calls C++ function: void Qt3DRender::QComputeCommand::trigger().

C++ documentation:

When the run type is set to Manual, calling trigger will make the compute command be executed for the next frameCount frames. Upon completion of the execution, the enabled property will be set to false.

This item is available if any(cpp_lib_version="5.13.0", cpp_lib_version="5.14.0").

pub unsafe fn trigger_3a(
    &mut self,
    work_group_x: c_int,
    work_group_y: c_int,
    work_group_z: c_int
)
[src]

When the run type is set to Manual, calling trigger will make the compute command be executed for the next frameCount frames. Upon completion of the execution, the enabled property will be set to false. The size of the workgroup previously set will be overridden with workGroupX, workGroupY, workGroupZ.

Calls C++ function: void Qt3DRender::QComputeCommand::trigger(int workGroupX, int workGroupY, int workGroupZ).

C++ documentation:

When the run type is set to Manual, calling trigger will make the compute command be executed for the next frameCount frames. Upon completion of the execution, the enabled property will be set to false. The size of the workgroup previously set will be overridden with workGroupX, workGroupY, workGroupZ.

This item is available if any(cpp_lib_version="5.13.0", cpp_lib_version="5.14.0").

pub unsafe fn work_group_x(&self) -> c_int[src]

Specifies X workgroup size.

Calls C++ function: int Qt3DRender::QComputeCommand::workGroupX() const.

C++ documentation:

Specifies X workgroup size.

Access functions:

int workGroupX() const
void setWorkGroupX(int workGroupX)

Notifier signal:

void workGroupXChanged()

pub unsafe fn work_group_y(&self) -> c_int[src]

Specifies Y workgroup size.

Calls C++ function: int Qt3DRender::QComputeCommand::workGroupY() const.

C++ documentation:

Specifies Y workgroup size.

Access functions:

int workGroupY() const
void setWorkGroupY(int workGroupY)

Notifier signal:

void workGroupYChanged()

pub unsafe fn work_group_z(&self) -> c_int[src]

Specifies Z workgroup size.

Calls C++ function: int Qt3DRender::QComputeCommand::workGroupZ() const.

C++ documentation:

Specifies Z workgroup size.

Access functions:

int workGroupZ() const
void setWorkGroupZ(int workGroupZ)

Notifier signal:

void workGroupZChanged()

Trait Implementations

impl CppDeletable for QComputeCommand[src]

unsafe fn delete(&mut self)[src]

Calls C++ function: virtual [destructor] void Qt3DRender::QComputeCommand::~QComputeCommand().

impl Deref for QComputeCommand[src]

type Target = QComponent

The resulting type after dereferencing.

fn deref(&self) -> &QComponent[src]

Calls C++ function: Qt3DCore::QComponent* static_cast<Qt3DCore::QComponent*>(Qt3DRender::QComputeCommand* ptr).

impl DerefMut for QComputeCommand[src]

fn deref_mut(&mut self) -> &mut QComponent[src]

Calls C++ function: Qt3DCore::QComponent* static_cast<Qt3DCore::QComponent*>(Qt3DRender::QComputeCommand* ptr).

impl DynamicCast<QComputeCommand> for QComponent[src]

unsafe fn dynamic_cast(ptr: Ptr<QComponent>) -> Ptr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* dynamic_cast<Qt3DRender::QComputeCommand*>(Qt3DCore::QComponent* ptr).

unsafe fn dynamic_cast_mut(ptr: MutPtr<QComponent>) -> MutPtr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* dynamic_cast<Qt3DRender::QComputeCommand*>(Qt3DCore::QComponent* ptr).

impl DynamicCast<QComputeCommand> for QNode[src]

unsafe fn dynamic_cast(ptr: Ptr<QNode>) -> Ptr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* dynamic_cast<Qt3DRender::QComputeCommand*>(Qt3DCore::QNode* ptr).

unsafe fn dynamic_cast_mut(ptr: MutPtr<QNode>) -> MutPtr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* dynamic_cast<Qt3DRender::QComputeCommand*>(Qt3DCore::QNode* ptr).

impl DynamicCast<QComputeCommand> for QObject[src]

unsafe fn dynamic_cast(ptr: Ptr<QObject>) -> Ptr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* dynamic_cast<Qt3DRender::QComputeCommand*>(QObject* ptr).

unsafe fn dynamic_cast_mut(ptr: MutPtr<QObject>) -> MutPtr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* dynamic_cast<Qt3DRender::QComputeCommand*>(QObject* ptr).

impl StaticDowncast<QComputeCommand> for QComponent[src]

unsafe fn static_downcast(ptr: Ptr<QComponent>) -> Ptr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* static_cast<Qt3DRender::QComputeCommand*>(Qt3DCore::QComponent* ptr).

unsafe fn static_downcast_mut(
    ptr: MutPtr<QComponent>
) -> MutPtr<QComputeCommand>
[src]

Calls C++ function: Qt3DRender::QComputeCommand* static_cast<Qt3DRender::QComputeCommand*>(Qt3DCore::QComponent* ptr).

impl StaticDowncast<QComputeCommand> for QNode[src]

unsafe fn static_downcast(ptr: Ptr<QNode>) -> Ptr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* static_cast<Qt3DRender::QComputeCommand*>(Qt3DCore::QNode* ptr).

unsafe fn static_downcast_mut(ptr: MutPtr<QNode>) -> MutPtr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* static_cast<Qt3DRender::QComputeCommand*>(Qt3DCore::QNode* ptr).

impl StaticDowncast<QComputeCommand> for QObject[src]

unsafe fn static_downcast(ptr: Ptr<QObject>) -> Ptr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* static_cast<Qt3DRender::QComputeCommand*>(QObject* ptr).

unsafe fn static_downcast_mut(ptr: MutPtr<QObject>) -> MutPtr<QComputeCommand>[src]

Calls C++ function: Qt3DRender::QComputeCommand* static_cast<Qt3DRender::QComputeCommand*>(QObject* ptr).

impl StaticUpcast<QComponent> for QComputeCommand[src]

unsafe fn static_upcast(ptr: Ptr<QComputeCommand>) -> Ptr<QComponent>[src]

Calls C++ function: Qt3DCore::QComponent* static_cast<Qt3DCore::QComponent*>(Qt3DRender::QComputeCommand* ptr).

unsafe fn static_upcast_mut(ptr: MutPtr<QComputeCommand>) -> MutPtr<QComponent>[src]

Calls C++ function: Qt3DCore::QComponent* static_cast<Qt3DCore::QComponent*>(Qt3DRender::QComputeCommand* ptr).

impl StaticUpcast<QNode> for QComputeCommand[src]

unsafe fn static_upcast(ptr: Ptr<QComputeCommand>) -> Ptr<QNode>[src]

Calls C++ function: Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DRender::QComputeCommand* ptr).

unsafe fn static_upcast_mut(ptr: MutPtr<QComputeCommand>) -> MutPtr<QNode>[src]

Calls C++ function: Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DRender::QComputeCommand* ptr).

impl StaticUpcast<QObject> for QComputeCommand[src]

unsafe fn static_upcast(ptr: Ptr<QComputeCommand>) -> Ptr<QObject>[src]

Calls C++ function: QObject* static_cast<QObject*>(Qt3DRender::QComputeCommand* ptr).

unsafe fn static_upcast_mut(ptr: MutPtr<QComputeCommand>) -> MutPtr<QObject>[src]

Calls C++ function: QObject* static_cast<QObject*>(Qt3DRender::QComputeCommand* ptr).

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> CastInto<U> for T where
    U: CastFrom<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> StaticUpcast<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.