public class CubicApproximator
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private float |
accuracy |
private float |
maxCubicSize |
Constructor and Description |
---|
CubicApproximator(float accuracy,
float maxCubicSize) |
Modifier and Type | Method and Description |
---|---|
private QuadCurve2D |
approximate(CubicCurve2D c) |
private float |
approximate(java.util.List<CubicCurve2D> curves,
java.util.List<QuadCurve2D> res) |
float |
approximate(java.util.List<QuadCurve2D> res,
CubicCurve2D curve) |
float |
approximate(java.util.List<QuadCurve2D> res,
java.util.List<CubicCurve2D> tmp,
CubicCurve2D curve) |
private static float |
compare(CubicCurve2D c1,
CubicCurve2D c2) |
private static float |
compareCPs(CubicCurve2D c1,
CubicCurve2D c2) |
private static CubicCurve2D |
elevate(QuadCurve2D q) |
float |
getAccuracy() |
static float |
getApproxError(CubicCurve2D curve) |
private static float |
getApproxError(float[] coords) |
float |
getMaxCubicSize() |
private void |
ProcessFirstMonotonicPartOfCubic(java.util.List<CubicCurve2D> resVector,
float[] coords,
float t) |
private void |
ProcessMonotonicCubic(java.util.List<CubicCurve2D> resVect,
float[] coords) |
void |
setAccuracy(float accuracy) |
void |
setMaxCubicSize(float maxCCubicSize) |
void |
SplitCubic(java.util.List<CubicCurve2D> resVect,
float[] coords) |
public void setAccuracy(float accuracy)
public float getAccuracy()
public void setMaxCubicSize(float maxCCubicSize)
public float getMaxCubicSize()
public float approximate(java.util.List<QuadCurve2D> res, java.util.List<CubicCurve2D> tmp, CubicCurve2D curve)
public float approximate(java.util.List<QuadCurve2D> res, CubicCurve2D curve)
private QuadCurve2D approximate(CubicCurve2D c)
private float approximate(java.util.List<CubicCurve2D> curves, java.util.List<QuadCurve2D> res)
private static CubicCurve2D elevate(QuadCurve2D q)
private static float compare(CubicCurve2D c1, CubicCurve2D c2)
private static float getApproxError(float[] coords)
public static float getApproxError(CubicCurve2D curve)
private static float compareCPs(CubicCurve2D c1, CubicCurve2D c2)
private void ProcessMonotonicCubic(java.util.List<CubicCurve2D> resVect, float[] coords)
public void SplitCubic(java.util.List<CubicCurve2D> resVect, float[] coords)
private void ProcessFirstMonotonicPartOfCubic(java.util.List<CubicCurve2D> resVector, float[] coords, float t)