public static final class BezierCurve.Interval
extends java.lang.Object
BezierCurve.Interval records a lower and an upper limit that define the
mathematical interval [a;b] (inclusively). It is used to represent
sub-curves of a BezierCurve by bounding the BezierCurve's
parameter value to the respective interval.| Modifier and Type | Field and Description |
|---|---|
double |
a
An
BezierCurve.Interval records the parameter range [a;b]. |
double |
b
An
BezierCurve.Interval records the parameter range [a;b]. |
| Constructor and Description |
|---|
Interval(double... ds)
Constructs a new
BezierCurve.Interval object from the given double
values. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
converges()
Checks if this
BezierCurve.Interval's parameter range does converge with
default imprecision. |
boolean |
converges(int shift)
Checks if this
BezierCurve.Interval's parameter range does converge with
specified imprecision. |
void |
expand(BezierCurve.Interval i)
Expands this
BezierCurve.Interval to include the given other
BezierCurve.Interval. |
BezierCurve.Interval |
getCopy()
Returns a copy of this
BezierCurve.Interval. |
static BezierCurve.Interval |
getEmpty()
Constructs a new
BezierCurve.Interval object holding an invalid parameter
interval. |
static BezierCurve.Interval |
getFull()
Constructs a new
BezierCurve.Interval object holding the interval [0;1]
which is the parameter BezierCurve.Interval representing a full
BezierCurve. |
double |
getMid()
Returns the middle parameter value
m = (a+b)/2 of this
BezierCurve.Interval. |
static BezierCurve.Interval |
min(BezierCurve.Interval i,
BezierCurve.Interval j)
Returns the smaller
BezierCurve.Interval object, i.e. the one with the
smallest parameter range. |
double |
scaleTo(BezierCurve.Interval interval)
Scales this
BezierCurve.Interval to the given BezierCurve.Interval. |
public double a
BezierCurve.Interval records the parameter range [a;b]. Valid
parameter ranges require 0 <= a <= b <= 1.public double b
BezierCurve.Interval records the parameter range [a;b]. Valid
parameter ranges require 0 <= a <= b <= 1.public Interval(double... ds)
Constructs a new BezierCurve.Interval object from the given double
values. Only the first two double values are of importance as the
rest of them are ignored.
The new BezierCurve.Interval holds the parameter range [a;b] if a is the
first double value and b is the second double value.
ds - the lower and upper limit for the BezierCurve.Interval object
to be createdpublic static BezierCurve.Interval getEmpty()
BezierCurve.Interval object holding an invalid parameter
interval.BezierCurve.Interval object holding an invalid parameter
intervalpublic static BezierCurve.Interval getFull()
BezierCurve.Interval object holding the interval [0;1]
which is the parameter BezierCurve.Interval representing a full
BezierCurve.BezierCurve.Interval object holding the interval [0;1]public static BezierCurve.Interval min(BezierCurve.Interval i, BezierCurve.Interval j)
BezierCurve.Interval object, i.e. the one with the
smallest parameter range.i - The first operand.j - The second operand.BezierCurve.Interval with the smallest parameter range.public boolean converges()
BezierCurve.Interval's parameter range does converge with
default imprecision.true if a ~= b (within default imprecision),
otherwise falseconverges(int)public boolean converges(int shift)
Checks if this BezierCurve.Interval's parameter range does converge with
specified imprecision.
The imprecision is specified by providing a shift value which shifts the epsilon used for the number comparison. A positive shift demands for a smaller epsilon (higher precision) whereas a negative shift demands for a greater epsilon (lower precision).
shift - precision shifttrue if a ~= b (within specified imprecision),
otherwise falsepublic void expand(BezierCurve.Interval i)
BezierCurve.Interval to include the given other
BezierCurve.Interval.i - The other BezierCurve.Interval to which this is
expanded.public BezierCurve.Interval getCopy()
BezierCurve.Interval.BezierCurve.Intervalpublic double getMid()
m = (a+b)/2 of this
BezierCurve.Interval.BezierCurve.Intervalpublic double scaleTo(BezierCurve.Interval interval)
Scales this BezierCurve.Interval to the given BezierCurve.Interval. The given
BezierCurve.Interval specifies the new upper and lower bounds of this
BezierCurve.Interval in percent.
Returns the ratio of this BezierCurve.Interval's new parameter range to
its old parameter range.
interval - the new upper and lower bounds in percentBezierCurve.Interval's new parameter range to
its old parameter rangeCopyright (c) 2014 itemis AG, and others. All rights reserved.