Reference navigation
On this page
CLASS · v0.9.1
Animation
Base class for animations evaluated by the scene timeline.
from proteinmotion.animation import AnimationConstructor
Animation(target, *, rate_func=smooth)Parameters
| Parameter | Default | Description |
|---|---|---|
target | Required | Object to animate or use as a destination. The supported object type depends on the operation. |
rate_funckeyword only | smooth | Callable that maps progress in [0, 1] to a finite value in [0, 1]. |
Notes
Subclass Animation to define a custom animation. Declare the channels it changes, capture starting values in bind(), and implement apply(alpha). The scene rejects simultaneous writes to the same channel.
Attributes
| Name | Description |
|---|---|
channels | Set of state channels written by the animation. |
target | Primary target object. |
rate_func | Progress easing callable. |
Methods and properties
| Name | Description |
|---|---|
| bind()method | Capture starting values when the scene schedules the animation. |
| targetsproperty | Objects whose state this animation changes. |
| apply()method | Evaluate the animation at eased progress alpha. Called by the timeline. |
Animation.bind()Capture starting values when the scene schedules the animation.
Returns: None
Called by ProteinScene.play(). An animation instance can be bound once.
Animation.targetsObjects whose state this animation changes.
Animation.apply(alpha)Evaluate the animation at eased progress alpha. Called by the timeline.
| Parameter | Default | Description |
|---|---|---|
alpha | Required | Eased animation progress in [0, 1]. |
Returns: None