Qt 5.8 | Qt 3D | C++ Classes | QAxisAccumulator

Qt 5.8.0 Reference Documentation

# QAxisAccumulator Class

(Qt3DInput::QAxisAccumulator)

QAxisAccumulator processes velocity or acceleration data from a QAxis. More...

Header: | #include <QAxisAccumulator>
qmake: | QT += 3dinput
Since: | Qt 5.8
Instantiated By: | AxisAccumulator
Inherits: | Qt3DCore::QComponent

- List of all members, including inherited members

## Public Types

enum | SourceAxisType { Velocity, Acceleration }

## Properties

- scale : float
- sourceAxis : Qt3DInput::QAxis *
- sourceAxisType : SourceAxisType

- value : const float
- velocity : const float

- 1 property inherited from Qt3DCore::QComponent
- 2 properties inherited from Qt3DCore::QNode

## Public Functions

| QAxisAccumulator(Qt3DCore::QNode *parent = nullptr)
float | scale() const
Qt3DInput::QAxis * | sourceAxis() const
SourceAxisType | sourceAxisType() const
float | value() const
float | velocity() const

- 2 public functions inherited from Qt3DCore::QComponent
- 6 public functions inherited from Qt3DCore::QNode

## Public Slots

void | setScale(float scale)
void | setSourceAxis(Qt3DInput::QAxis *sourceAxis)
void | setSourceAxisType(QAxisAccumulator::SourceAxisType sourceAxisType)

- 1 public slot inherited from Qt3DCore::QComponent
- 2 public slots inherited from Qt3DCore::QNode

## Signals

void | scaleChanged(float scale)
void | sourceAxisChanged(Qt3DInput::QAxis *sourceAxis)
void | sourceAxisTypeChanged(QAxisAccumulator::SourceAxisType sourceAxisType)
void | valueChanged(float value)
void | velocityChanged(float value)

- 1 signal inherited from Qt3DCore::QComponent
- 3 signals inherited from Qt3DCore::QNode

### Additional Inherited Members

- 2 protected functions inherited from Qt3DCore::QNode

## Detailed Description

Constructs a new QAxisAccumulator instance with parent.

QAxisAccumulator processes velocity or acceleration data from a QAxis.

A Qt3DInput::QAxis reports the current position of an axis on an input device. When the axis is returned to its neutral position the value of that axis returns to 0. Often, it is required to have the input from an axis control a variable in other ways, for example treating the value from the Qt3DInput::QAxis as a velocity (first derivative with respect to time) or as an acceleration (second derivative with respect to time). This can be done with user code or with a Qt3DLogic::QFrameAction but those approached are not ideal as they add more work to the main thread and are inherently imperative. The Qt3DInput::QAxisAccumulator class allows for this common task to be performed on the Qt 3D backend and be specified in a declarative manner.

## Member Type Documentation

### enum QAxisAccumulator::SourceAxisType

Constant | Value
--- | ---
`Qt3DInput::QAxisAccumulator::Velocity` | `0`
`Qt3DInput::QAxisAccumulator::Acceleration` | `1`

## Property Documentation

### scale : float

Access functions:

float | scale() const
void | setScale(float scale)

Notifier signal:

void | scaleChanged(float scale)

### sourceAxis : Qt3DInput::QAxis *

Access functions:

Qt3DInput::QAxis * | sourceAxis() const
void | setSourceAxis(Qt3DInput::QAxis *sourceAxis)

Notifier signal:

void | sourceAxisChanged(Qt3DInput::QAxis *sourceAxis)

### sourceAxisType : SourceAxisType

Access functions:

SourceAxisType | sourceAxisType() const
void | setSourceAxisType(QAxisAccumulator::SourceAxisType sourceAxisType)

Notifier signal:

void | sourceAxisTypeChanged(QAxisAccumulator::SourceAxisType sourceAxisType)

### value : const float

Access functions:

float | value() const

Notifier signal:

void | valueChanged(float value)

### velocity : const float

Access functions:

float | velocity() const

Notifier signal:

void | velocityChanged(float value)

## Member Function Documentation

### QAxisAccumulator::QAxisAccumulator(Qt3DCore::QNode *parent = nullptr)

Constructs a new QAxisAccumulator instance with parent parent.

### float QAxisAccumulator::scale() const

The amount to scale the axis value by when accumulating. This can be thought of as the maximum velocity or acceleration the axis can control.

Returns the amount the input axis values are scaled by.

Note: Getter function for property scale.

See also setScale().

### `[slot]` void QAxisAccumulator::setSourceAxisType(QAxisAccumulator::SourceAxisType sourceAxisType)

Sets how the accumulator treats the values originating from the source axis.

Note: Setter function for property sourceAxisType.

See also sourceAxisType().

### Qt3DInput::QAxis *QAxisAccumulator::sourceAxis() const

Returns QAxis for which the accumulator should integrate axis values.

Note: Getter function for property sourceAxis.

See also setSourceAxis().

### SourceAxisType QAxisAccumulator::sourceAxisType() const

Returns how the accumulator treats the value of the sourceAxis.

Note: Getter function for property sourceAxisType.

See also setSourceAxisType().

### float QAxisAccumulator::value() const

Returns the accumulated (integrated) value.

Note: Getter function for property value.

### float QAxisAccumulator::velocity() const

Returns the velocity. If the sourceAxisType is set to Velocity this is simply the value of the source axis multiplied by the scale. If the sourceAxisType is set to Acceleration, the velocity is integrated using the source axis' value as an acceleration.

Note: Getter function for property velocity.