public class CirculinearCurve2DUtils extends Object
Constructor and Description |
---|
CirculinearCurve2DUtils() |
Modifier and Type | Method and Description |
---|---|
static CirculinearDomain2D |
computeBuffer(CirculinearCurve2D curve,
double dist)
Compute the buffer of a circulinear curve.
|
static CirculinearDomain2D |
computeBuffer(PointSet2D set,
double dist)
Compute buffer of a point set.
|
static Collection<? extends CirculinearContour2D> |
computeBufferSimpleContour(CirculinearContinuousCurve2D curve,
double d)
Computes the rings that form the buffer of a continuous circulinear
curve that does not self-intersect.
|
static CirculinearCurve2D |
convert(Curve2D curve)
Converts a curve to a circulinear curve, by concatenating all elements
of the curve to the appropriate circulinear curve type.
|
static CirculinearContinuousCurve2D |
createContinuousParallel(CirculinearContinuousCurve2D curve,
double dist) |
static CirculinearCurve2D |
createParallel(CirculinearCurve2D curve,
double dist) |
static Collection<Point2D> |
findIntersections(CirculinearCurve2D curve1,
CirculinearCurve2D curve2) |
static Collection<Point2D> |
findIntersections(CirculinearElement2D elem1,
CirculinearElement2D elem2)
Compute the intersections, if they exist, of two circulinear elements.
|
static Collection<Point2D> |
findSelfIntersections(CirculinearCurve2D curve)
Compute intersection point of a single curve, by iterating on pair of
Circulinear elements composing the curve.
|
static double |
getDistanceCurvePoints(CirculinearCurve2D curve,
Collection<? extends Point2D> points) |
static double |
getLength(CurveSet2D<? extends CirculinearCurve2D> curve,
double pos) |
static double |
getPosition(CurveSet2D<? extends CirculinearCurve2D> curveSet,
double length) |
static double[][] |
locateIntersections(CirculinearCurve2D curve1,
CirculinearCurve2D curve2)
Locate intersection points of two curves.
|
static double[][] |
locateSelfIntersections(CurveSet2D<? extends CirculinearElement2D> curve) |
static Collection<CirculinearContinuousCurve2D> |
splitContinuousCurve(CirculinearContinuousCurve2D curve)
Split a continuous curve which self-intersects into a set of continuous
circulinear curves which do not self-intersect.
|
static Collection<CirculinearContour2D> |
splitIntersectingContours(CirculinearContour2D curve1,
CirculinearContour2D curve2) |
static Collection<CirculinearContour2D> |
splitIntersectingContours(Collection<? extends CirculinearContour2D> curves)
Split a collection of contours which possibly intersect each other to a
set of contours which do not intersect each others.
|
public static CirculinearCurve2D convert(Curve2D curve)
public static double getLength(CurveSet2D<? extends CirculinearCurve2D> curve, double pos)
public static double getPosition(CurveSet2D<? extends CirculinearCurve2D> curveSet, double length)
public static CirculinearCurve2D createParallel(CirculinearCurve2D curve, double dist)
public static CirculinearContinuousCurve2D createContinuousParallel(CirculinearContinuousCurve2D curve, double dist)
public static Collection<Point2D> findSelfIntersections(CirculinearCurve2D curve)
public static double[][] locateSelfIntersections(CurveSet2D<? extends CirculinearElement2D> curve)
public static Collection<Point2D> findIntersections(CirculinearCurve2D curve1, CirculinearCurve2D curve2)
public static double[][] locateIntersections(CirculinearCurve2D curve1, CirculinearCurve2D curve2)
public static Collection<Point2D> findIntersections(CirculinearElement2D elem1, CirculinearElement2D elem2)
public static Collection<CirculinearContinuousCurve2D> splitContinuousCurve(CirculinearContinuousCurve2D curve)
curve
- the curve to splitpublic static Collection<CirculinearContour2D> splitIntersectingContours(CirculinearContour2D curve1, CirculinearContour2D curve2)
public static Collection<CirculinearContour2D> splitIntersectingContours(Collection<? extends CirculinearContour2D> curves)
public static CirculinearDomain2D computeBuffer(CirculinearCurve2D curve, double dist)
The algorithm is as folow:
public static CirculinearDomain2D computeBuffer(PointSet2D set, double dist)
public static Collection<? extends CirculinearContour2D> computeBufferSimpleContour(CirculinearContinuousCurve2D curve, double d)
public static double getDistanceCurvePoints(CirculinearCurve2D curve, Collection<? extends Point2D> points)
Copyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.