|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectartofillusion.animation.Track
public abstract class Track
This is an abstract class representing an aspect of the scene which changes with time. Tracks are typically defined either by a Timecourse or a Procedure.
Constructor Summary | |
---|---|
Track(java.lang.String name)
|
Method Summary | |
---|---|
abstract void |
apply(double time)
This method should modify whatever aspects of the scene are governed by this track, so that they correspond to their values at the specified time. |
boolean |
canAcceptAsParent(java.lang.Object obj)
Determine whether this track can be added as a child of an object. |
abstract void |
copy(Track tr)
Make this track identical to another one. |
void |
deleteDependencies(ObjectInfo obj)
Delete all references to the specified object from this track. |
abstract void |
deleteKeyframe(int which)
Delete the specified keyframe. |
abstract Track |
duplicate(java.lang.Object parent)
Create a duplicate of this track (possibly for another object and/or parent track). |
abstract void |
edit(LayoutWindow win)
This method should present a window in which the user can edit the track. |
void |
editKeyframe(LayoutWindow win,
int which)
This method should present a window in which the user can edit the specified keyframe. |
double[] |
getDefaultGraphValues()
Get the default list of graphable values (for a track which has no keyframes). |
ObjectInfo[] |
getDependencies()
Get an array of any objects which this track depends on (and which therefore must be updated before this track is applied). |
double[] |
getGraphValues(Keyframe key)
Get the list of graphable values for a particular keyframe. |
abstract double[] |
getKeyTimes()
Get a list of all keyframe times for this track. |
java.lang.String |
getName()
Get the name of the track. |
java.lang.Object |
getParent()
Get the parent object of this track. |
int |
getSmoothingMethod()
Get the smoothing method for this track. |
Track[] |
getSubtracks()
Get any child tracks of this track. |
Timecourse |
getTimecourse()
Get the timecourse describing this track, or null if it is not described by a timecourse. |
java.lang.String[] |
getValueNames()
Get the names of all graphable values for this track. |
double[][] |
getValueRange()
Get the allowed range for graphable values. |
abstract void |
initFromStream(java.io.DataInputStream in,
Scene scene)
Initialize this tracked based on its serialized representation as written by writeToStream(). |
boolean |
isEnabled()
Returns whether the track is currently enabled. |
abstract boolean |
isNullTrack()
A null track is one which has no affect on the scene. |
boolean |
isQuantized()
Returns whether timepoints for the track must lie exactly on a frame. |
abstract int |
moveKeyframe(int which,
double time)
Move a keyframe to a new time, and return its new position in the list. |
void |
setEnabled(boolean enable)
Enable or disable the track. |
void |
setKeyframe(double time,
Keyframe k,
Smoothness s)
Set a keyframe at the specified time. |
Keyframe |
setKeyframe(double time,
Scene sc)
Set a keyframe at the specified time, based on the current state of the Scene. |
Keyframe |
setKeyframeIfModified(double time,
Scene sc)
Set a keyframe at the specified time, based on the current state of the Scene, if and only if the Scene does not match the current state of the track. |
void |
setName(java.lang.String name)
Set the name of the track. |
void |
setParent(java.lang.Object obj)
Set the parent object of this track. |
void |
setQuantized(boolean quantize)
Set whether timepoints for the track must lie exactly on a frame. |
void |
updateObjectReferences(java.util.Map<ObjectInfo,ObjectInfo> objectMap)
Update any references to objects this track depends on. |
abstract void |
writeToStream(java.io.DataOutputStream out,
Scene scene)
Write a serialized representation of this track to a stream. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Track(java.lang.String name)
Method Detail |
---|
public java.lang.String getName()
public void setName(java.lang.String name)
public boolean isEnabled()
public void setEnabled(boolean enable)
public boolean isQuantized()
public void setQuantized(boolean quantize)
public java.lang.String[] getValueNames()
public double[] getGraphValues(Keyframe key)
public double[] getDefaultGraphValues()
public double[][] getValueRange()
public abstract void edit(LayoutWindow win)
public void editKeyframe(LayoutWindow win, int which)
public abstract void apply(double time)
public abstract Track duplicate(java.lang.Object parent)
public abstract void copy(Track tr)
public abstract double[] getKeyTimes()
public Timecourse getTimecourse()
public int getSmoothingMethod()
public void setKeyframe(double time, Keyframe k, Smoothness s)
public Keyframe setKeyframe(double time, Scene sc)
public Keyframe setKeyframeIfModified(double time, Scene sc)
public abstract int moveKeyframe(int which, double time)
public abstract void deleteKeyframe(int which)
public abstract boolean isNullTrack()
public Track[] getSubtracks()
public boolean canAcceptAsParent(java.lang.Object obj)
public java.lang.Object getParent()
public void setParent(java.lang.Object obj)
public ObjectInfo[] getDependencies()
public void deleteDependencies(ObjectInfo obj)
public void updateObjectReferences(java.util.Map<ObjectInfo,ObjectInfo> objectMap)
public abstract void writeToStream(java.io.DataOutputStream out, Scene scene) throws java.io.IOException
java.io.IOException
public abstract void initFromStream(java.io.DataInputStream in, Scene scene) throws java.io.IOException, java.io.InvalidObjectException
java.io.IOException
java.io.InvalidObjectException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |