Adw.SpringParams

Fields

None

Methods

class

new (damping_ratio, mass, stiffness)

class

new_full (damping, mass, stiffness)

get_damping ()

get_damping_ratio ()

get_mass ()

get_stiffness ()

ref ()

unref ()

Details

class Adw.SpringParams

Physical parameters of a spring for [class`SpringAnimation`].

Any spring can be described by three parameters: mass, stiffness and damping.

An undamped spring will produce an oscillatory motion which will go on forever.

The frequency and amplitude of the oscillations will be determined by the stiffness (how “strong” the spring is) and its mass (how much “inertia” it has).

If damping is larger than 0, the amplitude of that oscillating motion will exponientally decrease over time. If that damping is strong enough that the spring can’t complete a full oscillation, it’s called an overdamped spring.

If we the spring can oscillate, it’s called an underdamped spring.

The value between these two behaviors is called critical damping; a critically damped spring will comes to rest in the minimum possible time without producing oscillations.

The damping can be replaced by damping ratio, which produces the following springs:

  • 0: an undamped spring.

  • Between 0 and 1: an underdamped spring.

  • 1: a critically damped spring.

  • Larger than 1: an overdamped spring.

As such

classmethod new(damping_ratio, mass, stiffness)
Parameters:
  • damping_ratio (float) – the damping ratio of the spring

  • mass (float) – the mass of the spring

  • stiffness (float) – the stiffness of the spring

Returns:

the newly created spring parameters

Return type:

Adw.SpringParams

Creates a new AdwSpringParams from mass, stiffness and damping_ratio.

The damping value is calculated from damping_ratio and the other two parameters.

  • If damping_ratio is 0, the spring will not be damped and will oscillate endlessly.

  • If damping_ratio is between 0 and 1, the spring is underdamped and will always overshoot.

  • If damping_ratio is 1, the spring is critically damped and will reach its resting position the quickest way possible.

  • If damping_ratio is larger than 1, the spring is overdamped and will reach its resting position faster than it can complete an oscillation.

[ctor`SpringParams`.new_full] allows to pass a raw damping value instead.

classmethod new_full(damping, mass, stiffness)
Parameters:
  • damping (float) – the damping of the spring

  • mass (float) – the mass of the spring

  • stiffness (float) – the stiffness of the spring

Returns:

the newly created spring parameters

Return type:

Adw.SpringParams

Creates a new AdwSpringParams from mass, stiffness and damping.

See [ctor`SpringParams`.new] for a simplified constructor using damping ratio instead of damping.

get_damping()
Returns:

the damping

Return type:

float

Gets the damping of self.

get_damping_ratio()
Returns:

the damping ratio

Return type:

float

Gets the damping ratio of self.

get_mass()
Returns:

the mass

Return type:

float

Gets the mass of self.

get_stiffness()
Returns:

the stiffness

Return type:

float

Gets the stiffness of self.

ref()
Returns:

self

Return type:

Adw.SpringParams

Increases the reference count of self.

unref()

Decreases the reference count of self.

If the last reference is dropped, the structure is freed.