31 void Apply(std::vector<QPointF> &control_points,
32 std::vector<QPointF> &velocity,
47 std::vector<QPointF> &velocity,
49 const std::vector<QPointF> &control_points,
50 double blob_radius)
override;
66 const std::vector<QPointF> &control_points,
68 const QVector2D &window_velocity);
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 ¶ms) 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