public static final class BezierCurve.IntervalPair
extends java.lang.Object
BezierCurve.IntervalPair combines two BezierCurves and their
corresponding parameter ranges.| Modifier and Type | Field and Description |
|---|---|
BezierCurve |
p
The first
BezierCurve. |
BezierCurve.Interval |
pi
The parameter
BezierCurve.Interval for the first BezierCurve. |
BezierCurve |
q
The second
BezierCurve. |
BezierCurve.Interval |
qi
The parameter
BezierCurve.Interval for the second BezierCurve. |
| Constructor and Description |
|---|
IntervalPair(BezierCurve pp,
BezierCurve.Interval pt,
BezierCurve pq,
BezierCurve.Interval pu)
Constructs a new
BezierCurve.IntervalPair with the given
BezierCurves and their corresponding parameter ranges. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
converges()
Checks if both parameter
BezierCurve.Intervals do converge (@see
Interval#converges()) or both BezierCurves are degenerated,
i.e. they are collapsed to a single Point. |
boolean |
converges(int shift)
Checks if both parameter
BezierCurve.Intervals do converge (@see
Interval#converges(int)) or both BezierCurves are
degenerated, i.e. they are collapsed to a single Point. |
void |
expand(BezierCurve.IntervalPair ip)
Expands this
BezierCurve.IntervalPair to include the given other
BezierCurve.IntervalPair. |
BezierCurve.IntervalPair |
getCopy()
Returns a copy of this
BezierCurve.IntervalPair. |
BezierCurve |
getPClipped()
Returns the first sub-curve of this
BezierCurve.IntervalPair. |
BezierCurve.IntervalPair[] |
getPSplit()
Splits the first parameter
BezierCurve.Interval pi at half and
returns the resulting BezierCurve.IntervalPairs. |
BezierCurve |
getQClipped()
Returns the second sub-curve of this
BezierCurve.IntervalPair. |
BezierCurve.IntervalPair[] |
getQSplit()
Splits the second parameter
BezierCurve.Interval qi at half and
returns the resulting BezierCurve.IntervalPairs. |
BezierCurve.IntervalPair |
getSwapped()
Creates a new
BezierCurve.IntervalPair with swapped BezierCurves
and their parameter BezierCurve.Intervals. |
boolean |
isPLonger()
Calculates which
BezierCurve's parameter BezierCurve.Interval is
longer. |
public BezierCurve p
BezierCurve.public BezierCurve q
BezierCurve.public BezierCurve.Interval pi
BezierCurve.Interval for the first BezierCurve.public BezierCurve.Interval qi
BezierCurve.Interval for the second BezierCurve.public IntervalPair(BezierCurve pp, BezierCurve.Interval pt, BezierCurve pq, BezierCurve.Interval pu)
BezierCurve.IntervalPair with the given
BezierCurves and their corresponding parameter ranges.pp - the first BezierCurvept - the parameter BezierCurve.Interval for the first
BezierCurvepq - the second BezierCurvepu - the parameter BezierCurve.Interval for the second
BezierCurvepublic boolean converges()
BezierCurve.Intervals do converge (@see
Interval#converges()) or both BezierCurves are degenerated,
i.e. they are collapsed to a single Point.true if both parameter BezierCurve.Intervals do
converge, otherwise falsepublic boolean converges(int shift)
BezierCurve.Intervals do converge (@see
Interval#converges(int)) or both BezierCurves are
degenerated, i.e. they are collapsed to a single Point.shift - the precision shifttrue if both parameter BezierCurve.Intervals do
converge, otherwise falsepublic void expand(BezierCurve.IntervalPair ip)
BezierCurve.IntervalPair to include the given other
BezierCurve.IntervalPair.ip - The other BezierCurve.IntervalPair to which this
is expanded.public BezierCurve.IntervalPair getCopy()
BezierCurve.IntervalPair. The underlying
BezierCurves are only shallow copied. The corresponding
parameter BezierCurve.Intervals, contrairwise, are truly copied.BezierCurve.IntervalPairpublic BezierCurve getPClipped()
BezierCurve.IntervalPair. This curve
is the first BezierCurve p over its corresponding
parameter BezierCurve.Interval pi.BezierCurve.IntervalPairpublic BezierCurve.IntervalPair[] getPSplit()
BezierCurve.Interval pi at half and
returns the resulting BezierCurve.IntervalPairs.BezierCurve.IntervalPairs representing a split of the first
parameter BezierCurve.Interval at halfpublic BezierCurve getQClipped()
BezierCurve.IntervalPair. This curve
is the second BezierCurve q over its corresponding
parameter BezierCurve.Interval qi.BezierCurve.IntervalPairpublic BezierCurve.IntervalPair[] getQSplit()
BezierCurve.Interval qi at half and
returns the resulting BezierCurve.IntervalPairs.BezierCurve.IntervalPairs representing a split of the second
parameter BezierCurve.Interval at halfpublic BezierCurve.IntervalPair getSwapped()
BezierCurve.IntervalPair with swapped BezierCurves
and their parameter BezierCurve.Intervals.BezierCurve.IntervalPair with swapped BezierCurves
and their parameter BezierCurve.Intervalspublic boolean isPLonger()
BezierCurve's parameter BezierCurve.Interval is
longer.true if the distance from start to end parameter
value of the first parameter BezierCurve.Interval pi is
greater than the distance from start to end parameter value
of the second parameter BezierCurve.Interval qi. Othwise,
returns false.Copyright (c) 2014 itemis AG, and others. All rights reserved.