Package edu.umd.cs.piccolo.activities
Class PTransformActivity
java.lang.Object
edu.umd.cs.piccolo.activities.PActivity
edu.umd.cs.piccolo.activities.PInterpolatingActivity
edu.umd.cs.piccolo.activities.PTransformActivity
PTransformActivity interpolates between two transforms setting its
target's transform as it goes. See PNode. animate*() for an example of this
activity in used. The source transform is retrieved from the target just
before the animation is scheduled to start.
- Version:
- 1.0
- Author:
- Jesse Grosjean
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceTarget Objects that want to get transformed by the transform activity must implement this interface.Nested classes/interfaces inherited from class edu.umd.cs.piccolo.activities.PActivity
PActivity.PActivityDelegate -
Field Summary
Fields inherited from class edu.umd.cs.piccolo.activities.PInterpolatingActivity
DESTINATION_TO_SOURCE, SOURCE_TO_DESTINATION, SOURCE_TO_DESTINATION_TO_SOURCEFields inherited from class edu.umd.cs.piccolo.activities.PActivity
TERMINATE_AND_FINISH, TERMINATE_AND_FINISH_IF_STEPPING, TERMINATE_WITHOUT_FINISHING -
Constructor Summary
ConstructorsConstructorDescriptionPTransformActivity(long duration, long stepRate, int loopCount, int mode, PTransformActivity.Target target, AffineTransform destination) Create a new PTransformActivity.PTransformActivity(long duration, long stepRate, PTransformActivity.Target target) Constructs a transform activity that will last for the specified duration, will update at the given step rate and will be applied to the target.PTransformActivity(long duration, long stepRate, PTransformActivity.Target target, AffineTransform destination) Constructs a activity that will change the target's transform in the destination transform. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidIs invoked when the activity is started.double[]Return the final transform that will be set on the transform activities target when the transform activity stops stepping.protected booleanWhether each step invalidates paint.voidsetDestinationTransform(double[] newDestination) Set the final transform that will be set on the transform activities target when the transform activity stops stepping.voidsetRelativeTargetValue(float zeroToOne) Set's the target value to be the interpolation between the source and destination transforms.Methods inherited from class edu.umd.cs.piccolo.activities.PInterpolatingActivity
activityFinished, activityStep, computeSlowInSlowOut, getFirstLoop, getLoopCount, getMode, getSlowInSlowOut, setDuration, setFirstLoop, setLoopCount, setMode, setRelativeTargetValueAdjustingForMode, setSlowInSlowOut, terminateMethods inherited from class edu.umd.cs.piccolo.activities.PActivity
getActivityScheduler, getDelegate, getDuration, getNextStepTime, getStartTime, getStepRate, getStopTime, isStepping, paramString, processStep, setActivityScheduler, setDelegate, setStartTime, setStepRate, startAfter, terminate
-
Constructor Details
-
PTransformActivity
Constructs a transform activity that will last for the specified duration, will update at the given step rate and will be applied to the target. Requires that the developer follow up with a setDestinationTransform call, otherwise the transition is undefined.- Parameters:
duration- duration in milliseconds of the entire activitystepRate- interval in milliseconds between successive animation stepstarget- the target of the activity
-
PTransformActivity
public PTransformActivity(long duration, long stepRate, PTransformActivity.Target target, AffineTransform destination) Constructs a activity that will change the target's transform in the destination transform. It will last for the specified duration, will update at the given step rate.- Parameters:
duration- duration in milliseconds of the entire activitystepRate- interval in milliseconds between successive animation stepstarget- the target of the activitydestination- transform that the target will be after the ativity is finished
-
PTransformActivity
public PTransformActivity(long duration, long stepRate, int loopCount, int mode, PTransformActivity.Target target, AffineTransform destination) Create a new PTransformActivity.- Parameters:
duration- the length of one loop of the activitystepRate- the amount of time between steps of the activityloopCount- number of times the activity should reschedule itselfmode- defines how the activity interpolates between statestarget- the object that the activity will be applied to and where the source state will be taken from.destination- the destination color state
-
-
Method Details
-
isAnimation
protected boolean isAnimation()Whether each step invalidates paint.- Overrides:
isAnimationin classPActivity- Returns:
- true since a node transform affects it's node's display
-
getDestinationTransform
public double[] getDestinationTransform()Return the final transform that will be set on the transform activities target when the transform activity stops stepping.- Returns:
- returns the final transform as an array of doubles
-
setDestinationTransform
public void setDestinationTransform(double[] newDestination) Set the final transform that will be set on the transform activities target when the transform activity stops stepping.- Parameters:
newDestination- an array of doubles representing the destination transform
-
activityStarted
protected void activityStarted()Is invoked when the activity is started. Ensures that setTransform is called on the target even before the first step.- Overrides:
activityStartedin classPInterpolatingActivity
-
setRelativeTargetValue
public void setRelativeTargetValue(float zeroToOne) Set's the target value to be the interpolation between the source and destination transforms. A value of 0 for zeroToOne means that the target should have the source transform. A value of 1 for zeroToOne means that the target should have the destination transform.- Overrides:
setRelativeTargetValuein classPInterpolatingActivity- Parameters:
zeroToOne- how far along the activity has progressed. 0 = not at all, 1 = completed
-