SpringSimulation class
A spring simulation.
Models a particle attached to a spring that follows Hooke's law.
This method triggers an AnimationController (a previously constructed
link_controller
field) to simulate a spring oscillation.void _startSpringMotion() {
_controller.animateWith(SpringSimulation(
const SpringDescription(
mass: 1.0,
stiffness: 300.0,
damping: 15.0,
),
0.0, // starting position
1.0, // ending position
0.0, // starting velocity
));
}
This AnimationController could be used with an AnimatedBuilder to animate the position of a child as if it were attached to a spring.
- Inheritance
- Object
- Simulation
- SpringSimulation
- Implementers
Constructors
- SpringSimulation(SpringDescription spring, double start, double end, double velocity, {bool snapToEnd = false, Tolerance tolerance = Tolerance.defaultTolerance})
- Creates a spring simulation from the provided spring description, start distance, end distance, and initial velocity.
Properties
- hashCode → int
- The hash code for this object.no setterinherited
- runtimeType → Type
- A representation of the runtime type of the object.no setterinherited
- tolerance ↔ Tolerance
- How close to the actual end of the simulation a value at a particular time must be before isDone considers the simulation to be "done".getter/setter pairinherited
- type → SpringType
- The kind of spring being simulated, for debugging purposes.no setter
Methods
- dx(
double time) → double - The velocity of the object in the simulation at the given time.override
- isDone(
double time) → bool - Whether the simulation is "done" at the given time.override
- noSuchMethod(
Invocation invocation) → dynamic - Invoked when a nonexistent method or property is accessed.inherited
- toString(
) → String - A string representation of this object.override
- x(
double time) → double - The position of the object in the simulation at the given time.override
Operators
- operator ==(
Object other) → bool - The equality operator.inherited