- Qt 6.7
- Qt 3D
- C++ Classes
- Qt3DRender
- QStencilOperationArguments
- Qt 6.7.3 Reference Documentation

# QStencilOperationArguments Class

class Qt3DRender::QStencilOperationArguments

The QStencilOperationArguments class sets the actions to be taken when stencil and depth tests fail. More...

Header: | #include <QStencilOperationArguments>
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: | QT += 3drender
Instantiated By: | StencilOperationArguments
Inherits: | QObject

- List of all members, including inherited members

## Public Types

enum | FaceMode { Front, Back, FrontAndBack }
enum | Operation { Zero, Keep, Replace, Increment, Decrement, …, Invert }

## Properties

- allTestsPassOperation : Operation
- depthTestFailureOperation : Operation
- faceMode : const FaceMode
- stencilTestFailureOperation : Operation

## Public Functions

Qt3DRender::QStencilOperationArguments::Operation | allTestsPassOperation() const
Qt3DRender::QStencilOperationArguments::Operation | depthTestFailureOperation() const
Qt3DRender::QStencilOperationArguments::FaceMode | faceMode() const
Qt3DRender::QStencilOperationArguments::Operation | stencilTestFailureOperation() const

## Public Slots

void | setAllTestsPassOperation(Qt3DRender::QStencilOperationArguments::Operation operation)
void | setDepthTestFailureOperation(Qt3DRender::QStencilOperationArguments::Operation operation)
void | setStencilTestFailureOperation(Qt3DRender::QStencilOperationArguments::Operation operation)

## Signals

void | allTestsPassOperationChanged(Qt3DRender::QStencilOperationArguments::Operation stencilDepthPass)
void | depthTestFailureOperationChanged(Qt3DRender::QStencilOperationArguments::Operation depthFail)
void | faceModeChanged(Qt3DRender::QStencilOperationArguments::FaceMode faceMode)
void | stencilTestFailureOperationChanged(Qt3DRender::QStencilOperationArguments::Operation stencilFail)

## Detailed Description

The Qt3DRender::QStencilOperationArguments class specifies the arguments for the stencil operations.

See also Qt3DRender::QStencilOperation.

## Member Type Documentation

### enum QStencilOperationArguments::FaceMode

This enumeration holds the values for stencil operation argument face modes

Constant | Value | Description
--- | --- | ---
`Qt3DRender::QStencilOperationArguments::Front` | `0x0404` | Arguments are applied to front-facing polygons.
`Qt3DRender::QStencilOperationArguments::Back` | `0x0405` | Arguments are applied to back-facing polygons.
`Qt3DRender::QStencilOperationArguments::FrontAndBack` | `0x0408` | Arguments are applied to both front- and back-facing polygons.

### enum QStencilOperationArguments::Operation

This enumeration holds the values for stencil operation.

Constant | Value | Description
--- | --- | ---
`Qt3DRender::QStencilOperationArguments::Zero` | `0` | Set stencil value to zero.
`Qt3DRender::QStencilOperationArguments::Keep` | `0x1E00` | Keep current stencil value.
`Qt3DRender::QStencilOperationArguments::Replace` | `0x1E01` | Replace with the masked fragment stencil value.
`Qt3DRender::QStencilOperationArguments::Increment` | `0x1E02` | Increment current value with saturation.
`Qt3DRender::QStencilOperationArguments::Decrement` | `0x1E03` | Decrement current value with saturation.
`Qt3DRender::QStencilOperationArguments::IncrementWrap` | `0x8507` | Increment current value with wrap.
`Qt3DRender::QStencilOperationArguments::DecrementWrap` | `0x8508` | Decrement current value with wrap.
`Qt3DRender::QStencilOperationArguments::Invert` | `0x150A` | Invert the current value.

## Property Documentation

### allTestsPassOperation : Operation

Holds the stencil test operation for when depth and stencil test pass. Default is StencilOperationArguments.Keep.

Access functions:

Qt3DRender::QStencilOperationArguments::Operation | allTestsPassOperation() const
void | setAllTestsPassOperation(Qt3DRender::QStencilOperationArguments::Operation operation)

Notifier signal:

void | allTestsPassOperationChanged(Qt3DRender::QStencilOperationArguments::Operation stencilDepthPass)

### depthTestFailureOperation : Operation

Holds the stencil test operation for when the stencil test passes, but depth test fails. Default is StencilOperationArguments.Keep.

Access functions:

Qt3DRender::QStencilOperationArguments::Operation | depthTestFailureOperation() const
void | setDepthTestFailureOperation(Qt3DRender::QStencilOperationArguments::Operation operation)

Notifier signal:

void | depthTestFailureOperationChanged(Qt3DRender::QStencilOperationArguments::Operation depthFail)

### `[read-only]` faceMode : const FaceMode

Holds the faces the arguments are applied to.

Access functions:

Qt3DRender::QStencilOperationArguments::FaceMode | faceMode() const

Notifier signal:

void | faceModeChanged(Qt3DRender::QStencilOperationArguments::FaceMode faceMode)

### stencilTestFailureOperation : Operation

Holds the stencil test operation for when the stencil test fails. Default is StencilOperationArguments.Keep.

Access functions:

Qt3DRender::QStencilOperationArguments::Operation | stencilTestFailureOperation() const
void | setStencilTestFailureOperation(Qt3DRender::QStencilOperationArguments::Operation operation)

Notifier signal:

void | stencilTestFailureOperationChanged(Qt3DRender::QStencilOperationArguments::Operation stencilFail)