| java.lang.Object com.sun.perseus.model.TransformSegment
TransformSegment | public class TransformSegment implements Segment(Code) | | Represents a segment in an animateTransform.
version: $Id: TransformSegment.java,v 1.3 2006/06/29 10:47:36 ln156897 Exp $ |
Field Summary | |
float[] | end Holds the minimal information for the segment's end. | float[] | start Holds the minimal information for the segment's start. | int | type The segment type. |
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 Object[] | compute(float p, float[][] w) Computes an interpolated value for the given penetration in the
segment. | 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() Sets the start value to its notion of 'zero'. |
start | float[] start(Code) | | Holds the minimal information for the segment's start.
The interpretation depends on the segment type.
TYPE_TRANSLATE: start[0] = tx, start[1] = ty
TYPE_SCALE: start[0] = sx, start[1] = sy
TYPE_ROTATE: start[0] = rotate, start[1] = cx, start[2] = cy;
TYPE_SKEW_X: start[0] = skewX
TYPE_SKEW_Y: start[0] = skewY
|
type | int type(Code) | | The segment type.
|
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 Object[] compute(float p, float[][] w)(Code) | | Computes an interpolated value for the given penetration in the
segment. Note that the start and end segment values must be set
before calling this method. Otherwise, a NullPointerException
is thrown.
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) | | the length of the segment |
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'.
For a FloatSegment, a 'zero' start means zero all all
dimensions for all components.
|
|
|