PulserFold<T> class

pulses to 1 and sags to 0. Is fairly graceful when interrupted, allowing pulses to overlap. T is a fold over the pulse

Implementers

Constructors

PulserFold.new({double duration = 200, required T folder(T accumulator, double pulseTime, T pulseValue), required T zero})

Properties

duration double
getter/setter pair
folder ↔ T Function(T accumulator, double pulseTime, T pulseValue)
pulseTime is the amount of time that's passed since this pulse started. For pulses in the future, it will be negative. For pulses in the past, it will be large. You usually want to get the pulse progress as clampUnit(pulseTime/duration)
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
pulseStarts List<(double, T)>
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
zero ↔ T
getter/setter pair

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pulse(T v, {required double time}) → void
toString() String
A string representation of this object.
inherited
v({required double time}) → T

Operators

operator ==(Object other) bool
The equality operator.
inherited