| java.lang.Object com.sun.perseus.model.FloatSegment
FloatSegment | class FloatSegment implements Segment(Code) | | Represents float segment in an animation. A float segment may have
multiple components and multiple dimensions.
For example, an rgb color segment is represented with one component
and 3 dimensions. A stroke dash array value is represented with
as many components as there are dashes and one dimension for each
component.
version: $Id: FloatSegment.java,v 1.3 2006/06/29 10:47:31 ln156897 Exp $ |
Field Summary | |
float[][] | end The segment's end value. | float[][] | start The segment's begin value. |
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. | 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'. | public String | toString() Debug helper. |
start | float[][] start(Code) | | The segment's begin value.
There is an array for each component and an value in the
array for each dimension.
|
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. 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. |
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.
|
|
|