public static final class BezierCurve.IntervalPair
extends java.lang.Object
BezierCurve.IntervalPair
combines two BezierCurve
s 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
BezierCurve s and their corresponding parameter ranges. |
Modifier and Type | Method and Description |
---|---|
boolean |
converges()
Checks if both parameter
BezierCurve.Interval s do converge (@see
Interval#converges()) or both BezierCurve s are degenerated,
i.e. they are collapsed to a single Point . |
boolean |
converges(int shift)
Checks if both parameter
BezierCurve.Interval s do converge (@see
Interval#converges(int)) or both BezierCurve s 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.IntervalPair s. |
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.IntervalPair s. |
BezierCurve.IntervalPair |
getSwapped()
Creates a new
BezierCurve.IntervalPair with swapped BezierCurve s
and their parameter BezierCurve.Interval s. |
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
BezierCurve
s and their corresponding parameter ranges.pp
- the first BezierCurve
pt
- the parameter BezierCurve.Interval
for the first
BezierCurve
pq
- the second BezierCurve
pu
- the parameter BezierCurve.Interval
for the second
BezierCurve
public boolean converges()
BezierCurve.Interval
s do converge (@see
Interval#converges()) or both BezierCurve
s are degenerated,
i.e. they are collapsed to a single Point
.true
if both parameter BezierCurve.Interval
s do
converge, otherwise false
public boolean converges(int shift)
BezierCurve.Interval
s do converge (@see
Interval#converges(int)) or both BezierCurve
s are
degenerated, i.e. they are collapsed to a single Point
.shift
- the precision shifttrue
if both parameter BezierCurve.Interval
s do
converge, otherwise false
public 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
BezierCurve
s are only shallow copied. The corresponding
parameter BezierCurve.Interval
s, contrairwise, are truly copied.BezierCurve.IntervalPair
public BezierCurve getPClipped()
BezierCurve.IntervalPair
. This curve
is the first BezierCurve
p over its corresponding
parameter BezierCurve.Interval
pi.BezierCurve.IntervalPair
public BezierCurve.IntervalPair[] getPSplit()
BezierCurve.Interval
pi at half and
returns the resulting BezierCurve.IntervalPair
s.BezierCurve.IntervalPair
s 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.IntervalPair
public BezierCurve.IntervalPair[] getQSplit()
BezierCurve.Interval
qi at half and
returns the resulting BezierCurve.IntervalPair
s.BezierCurve.IntervalPair
s representing a split of the second
parameter BezierCurve.Interval
at halfpublic BezierCurve.IntervalPair getSwapped()
BezierCurve.IntervalPair
with swapped BezierCurve
s
and their parameter BezierCurve.Interval
s.BezierCurve.IntervalPair
with swapped BezierCurve
s
and their parameter BezierCurve.Interval
spublic 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.