| java.lang.Object com.sun.perseus.model.CompositeMotionSegment
CompositeMotionSegment | class CompositeMotionSegment implements MotionSegment(Code) | | A composite implementation of the Segment interface.
This is used in AnimateMotion to handle linearization of
quadratic and cubic segments.
version: $Id: CompositeMotionSegment.java,v 1.3 2006/04/21 06:36:43 st125089 Exp $ |
Method Summary | |
public void | addToEnd(Object[] by) Adds the input value to this Segment's end value.
Parameters: by - the value to add. | public void | collapse(Segment seg, Animation anim) Collapses this segment with the one passed as a parameter.
Note that if the input segment is not of the same class
as this one, an IllegalArgumentException is thrown. | public void | compute(float p, float[][] w) Computes an interpolated value for the given penetration in the
segment.
Parameters: p - the segment penetration. | public Object[] | getEnd() | public float | getLength() | public Object[] | getStart() | public void | initialize() Should be called after the segment's configuration is complete
to give the segment's implementation a chance to initialize
internal data and cache values. | public boolean | isAdditive() true if this segment type supports addition. | public void | setStart(Object[] newStart) Sets the start value. | public void | setZeroStart() |
length | float length(Code) | | The cached segment length.
|
nSegLength | float[] nSegLength(Code) | | The cached, normalized segment length
|
addToEnd | public void addToEnd(Object[] by)(Code) | | Adds the input value to this Segment's end value.
Parameters: by - the value to add. Throws IllegalArgumentException if thisSegment type is not additive or if the input value is incompatible (e.g.,different number of components or different number of dimensions on acomponent). |
collapse | public void collapse(Segment seg, Animation anim)(Code) | | Collapses this segment with the one passed as a parameter.
Note that if the input segment is not of the same class
as this one, an IllegalArgumentException is thrown. The
method also throws an exception if the input segment's
end does not have the same number of components as this
segment's end.
After this method is called, this segment's end value
is the one of the input seg parameter.
Parameters: seg - the Segment to collapse with this one. Parameters: anim - the Animation this segment is part of. |
compute | public void compute(float p, float[][] w)(Code) | | Computes an interpolated value for the given penetration in the
segment.
Parameters: p - the segment penetration. Should be in the [0, 1] range. Parameters: w - array where the computed value should be stored. the interpolated value. |
getLength | public float getLength()(Code) | | Computes this segment's length
|
initialize | public void initialize()(Code) | | Should be called after the segment's configuration is complete
to give the segment's implementation a chance to initialize
internal data and cache values.
|
isAdditive | public boolean isAdditive()(Code) | | true if this segment type supports addition. falseotherwise. |
setStart | public void setStart(Object[] newStart)(Code) | | Sets the start value.
Parameters: newStart - the new segment start value. |
setZeroStart | public void setZeroStart()(Code) | | Sets the start value to its notion of 'zero'
|
|
|