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 false
converges(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 false
public 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.Interval
public double getMid()
m = (a+b)/2
of this
BezierCurve.Interval
.BezierCurve.Interval
public 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.