![]() |
ProtoTracer
1.0
Real-time 3D rendering and animation engine
|
A Kalman filter for quaternion smoothing. More...
#include <QuaternionKalmanFilter.h>

Public Member Functions | |
| QuaternionKalmanFilter () | |
Default constructor for QuaternionKalmanFilter. | |
| QuaternionKalmanFilter (float gain, int memory) | |
Constructs a QuaternionKalmanFilter with specified parameters. | |
| Quaternion | Filter (Quaternion value) |
| Filters a quaternion value to reduce noise. | |
| ~QuaternionKalmanFilter () | |
Destructor for QuaternionKalmanFilter. | |
Private Member Functions | |
| Quaternion * | ShiftArray (Quaternion arr[]) |
| Shifts the array to remove the oldest quaternion and make room for a new one. | |
Private Attributes | |
| float | gain |
| The filter gain, controls the weight of new data versus the estimated state. | |
| int | memory |
| The size of the internal buffer to store quaternion history. | |
| Quaternion * | values |
| Pointer to an array of quaternion values for the filter's memory. | |
| int | currentAmount = 0 |
| Tracks the current number of quaternions stored in memory. | |
A Kalman filter for quaternion smoothing.
This class applies a Kalman filter to quaternion data to reduce noise and smooth transitions between rotations.
Definition at line 24 of file QuaternionKalmanFilter.h.
Default constructor for QuaternionKalmanFilter.
Initializes the filter with default parameters.
Definition at line 3 of file QuaternionKalmanFilter.cpp.
| QuaternionKalmanFilter | ( | float | gain, |
| int | memory | ||
| ) |
Constructs a QuaternionKalmanFilter with specified parameters.
| gain | The filter gain. |
| memory | The size of the filter's internal memory. |
Definition at line 10 of file QuaternionKalmanFilter.cpp.
Destructor for QuaternionKalmanFilter.
Releases allocated memory for quaternion storage.
Definition at line 17 of file QuaternionKalmanFilter.cpp.
References values.
| Quaternion Filter | ( | Quaternion | value | ) |
Filters a quaternion value to reduce noise.
| value | The new quaternion value to process. |
Definition at line 31 of file QuaternionKalmanFilter.cpp.
References Quaternion::Add(), currentAmount, gain, memory, ShiftArray(), Quaternion::SphericalInterpolation(), Quaternion::UnitQuaternion(), and values.
|
private |
Shifts the array to remove the oldest quaternion and make room for a new one.
| arr | Array of quaternions to shift. |
Definition at line 21 of file QuaternionKalmanFilter.cpp.
References memory.
Referenced by Filter().
|
private |
Tracks the current number of quaternions stored in memory.
Definition at line 30 of file QuaternionKalmanFilter.h.
Referenced by Filter().
|
private |
The filter gain, controls the weight of new data versus the estimated state.
Definition at line 26 of file QuaternionKalmanFilter.h.
Referenced by Filter(), QuaternionKalmanFilter(), and QuaternionKalmanFilter().
|
private |
The size of the internal buffer to store quaternion history.
Definition at line 27 of file QuaternionKalmanFilter.h.
Referenced by Filter(), QuaternionKalmanFilter(), QuaternionKalmanFilter(), and ShiftArray().
|
private |
Pointer to an array of quaternion values for the filter's memory.
Definition at line 28 of file QuaternionKalmanFilter.h.
Referenced by Filter(), QuaternionKalmanFilter(), QuaternionKalmanFilter(), and ~QuaternionKalmanFilter().