Wavelength
Privacy-focused, cross-platform, and open-source communication application
Loading...
Searching...
No Matches
moving_state.h
Go to the documentation of this file.
1#ifndef MOVINGSTATE_H
2#define MOVINGSTATE_H
3
4#include "blob_state.h"
5
14class MovingState final : public BlobState {
15public:
20
31 void Apply(std::vector<QPointF> &control_points,
32 std::vector<QPointF> &velocity,
33 QPointF &blob_center,
34 const BlobConfig::BlobParameters &params) override;
35
46 void ApplyForce(const QVector2D &force,
47 std::vector<QPointF> &velocity,
48 QPointF &blob_center,
49 const std::vector<QPointF> &control_points,
50 double blob_radius) override;
51
64 static void ApplyInertiaForce(std::vector<QPointF> &velocity,
65 QPointF &blob_center,
66 const std::vector<QPointF> &control_points,
67 double blob_radius,
68 const QVector2D &window_velocity);
69};
70
71#endif // MOVINGSTATE_H
Abstract base class defining the interface for different blob animation states.
Definition blob_state.h:16
static void ApplyInertiaForce(std::vector< QPointF > &velocity, QPointF &blob_center, const std::vector< QPointF > &control_points, double blob_radius, const QVector2D &window_velocity)
Applies an inertia force based on the calculated window velocity. This static method is typically cal...
Definition moving_state.cpp:36
void Apply(std::vector< QPointF > &control_points, std::vector< QPointF > &velocity, QPointF &blob_center, const BlobConfig::BlobParameters &params) override
Applies a stretching effect to the blob based on its average internal velocity. Calculates the averag...
Definition moving_state.cpp:5
MovingState()
Default constructor for MovingState.
void ApplyForce(const QVector2D &force, std::vector< QPointF > &velocity, QPointF &blob_center, const std::vector< QPointF > &control_points, double blob_radius) override
Applies an external force directly to the blob's velocity and center. The force applied to each contr...
Definition moving_state.cpp:86
Structure holding parameters related to the blob's visual appearance and basic geometry.
Definition blob_config.h:25