AnimatedPositionBehaviours::ContinuousWithMomentum Struct Reference
juce_gui_basics » layout

A non-snapping behaviour that allows the content to be freely flicked in either direction, with momentum based on the velocity at which it was released, and variable friction to make it come to a halt. More...

## Public Member Functions

| ContinuousWithMomentum ()=default
void | setFriction (double newFriction) noexcept
| Sets the friction that damps the movement of the value. More...
void | setMinimumVelocity (double newMinimumVelocityToUse) noexcept
| Sets the minimum velocity of the movement. More...
void | releasedWithVelocity (double, double releaseVelocity) noexcept
| Called by the AnimatedPosition class. More...
double | getNextPosition (double oldPos, double elapsedSeconds) noexcept
| Called by the AnimatedPosition class to get the new position, after the given time has elapsed. More...
bool | isStopped (double) const noexcept
| Called by the AnimatedPosition class to check whether the object is now stationary. More...

## Detailed Description

A non-snapping behaviour that allows the content to be freely flicked in either direction, with momentum based on the velocity at which it was released, and variable friction to make it come to a halt.

This class is intended to be used as a template parameter to the AnimatedPosition class.

See also
  AnimatedPosition

## Constructor & Destructor Documentation

## ContinuousWithMomentum()

AnimatedPositionBehaviours::ContinuousWithMomentum::ContinuousWithMomentum | ( |  | ) |

default

## Member Function Documentation

## setFriction()

void AnimatedPositionBehaviours::ContinuousWithMomentum::setFriction | ( | double | newFriction | ) |

noexcept

Sets the friction that damps the movement of the value.

A typical value is 0.08; higher values indicate more friction.

## setMinimumVelocity()

void AnimatedPositionBehaviours::ContinuousWithMomentum::setMinimumVelocity | ( | double | newMinimumVelocityToUse | ) |

noexcept

Sets the minimum velocity of the movement.

Any velocity that's slower than this will stop the animation. The default is 0.05.

## releasedWithVelocity()

void AnimatedPositionBehaviours::ContinuousWithMomentum::releasedWithVelocity | ( | double | ,
|  | double | releaseVelocity
| ) |  |

noexcept

Called by the AnimatedPosition class.

This tells us the position and velocity at which the user is about to release the object. The velocity is measured in units/second.

## getNextPosition()

double AnimatedPositionBehaviours::ContinuousWithMomentum::getNextPosition | ( | double | oldPos,
|  | double | elapsedSeconds
| ) |  |

noexcept

Called by the AnimatedPosition class to get the new position, after the given time has elapsed.

References abs().

## isStopped()

bool AnimatedPositionBehaviours::ContinuousWithMomentum::isStopped | ( | double |  | ) | const

noexcept

Called by the AnimatedPosition class to check whether the object is now stationary.

The documentation for this struct was generated from the following file:

- juce_AnimatedPositionBehaviours.h