math.geom2d.circulinear
Class PolyCirculinearCurve2D<T extends CirculinearContinuousCurve2D>
java.lang.Object
math.geom2d.curve.CurveSet2D<T>
math.geom2d.curve.CurveArray2D<T>
math.geom2d.curve.PolyCurve2D<T>
math.geom2d.domain.PolyOrientedCurve2D<T>
math.geom2d.circulinear.PolyCirculinearCurve2D<T>
- All Implemented Interfaces:
- Serializable, Cloneable, Iterable<T>, CirculinearContinuousCurve2D, CirculinearCurve2D, CirculinearShape2D, ContinuousCirculinearCurve2D, ContinuousCurve2D, Curve2D, ContinuousOrientedCurve2D, OrientedCurve2D, Shape2D
- Direct Known Subclasses:
- BoundaryPolyCirculinearCurve2D, GenericCirculinearRing2D
public class PolyCirculinearCurve2D<T extends CirculinearContinuousCurve2D>
- extends PolyOrientedCurve2D<T>
- implements CirculinearContinuousCurve2D
A continuous curve which is composed of several continuous circulinear
curves.
- Author:
- dlegland
- See Also:
- Serialized Form
Methods inherited from class math.geom2d.curve.CurveArray2D |
addCurve, clearCurves, clone, contains, contains, containsCurve, getAsAWTShape, getBoundingBox, getChildCurve, getCurve, getCurveIndex, getCurveNumber, getCurves, getDistance, getDistance, getFirstCurve, getFirstPoint, getGlobalPosition, getIntersections, getLastCurve, getLastPoint, getLocalPosition, getPoint, getPosition, getSingularPoints, getT0, getT1, isBounded, isEmpty, isSingular, iterator, project, removeCurve |
Methods inherited from interface math.geom2d.curve.Curve2D |
clone, draw, getAsAWTShape, getFirstPoint, getIntersections, getLastPoint, getPoint, getPosition, getSingularPoints, getT0, getT1, isSingular, project |
PolyCirculinearCurve2D
public PolyCirculinearCurve2D()
PolyCirculinearCurve2D
public PolyCirculinearCurve2D(int size)
PolyCirculinearCurve2D
public PolyCirculinearCurve2D(T[] curves)
PolyCirculinearCurve2D
public PolyCirculinearCurve2D(T[] curves,
boolean closed)
PolyCirculinearCurve2D
public PolyCirculinearCurve2D(Collection<? extends T> curves)
PolyCirculinearCurve2D
public PolyCirculinearCurve2D(Collection<? extends T> curves,
boolean closed)
getLength
public double getLength()
- Specified by:
getLength
in interface CirculinearCurve2D
- Returns:
- the length of the curve
getLength
public double getLength(double pos)
- Specified by:
getLength
in interface CirculinearCurve2D
- Returns:
- the length from the beginning to the position given by pos
getPosition
public double getPosition(double length)
- Specified by:
getPosition
in interface CirculinearCurve2D
- Returns:
- the position located at distance 'length' from the origin
getBuffer
public CirculinearDomain2D getBuffer(double dist)
- Description copied from interface:
CirculinearShape2D
- Computes the buffer of the shape, formed by the set of points located
at a distance from the shape that is lower or equal to d.
- Specified by:
getBuffer
in interface CirculinearShape2D
- Parameters:
dist
- the maximal distance between a point of the buffer and the
shape
- Returns:
- the buffer of the shape
getParallel
public CirculinearContinuousCurve2D getParallel(double d)
- Description copied from interface:
CirculinearCurve2D
- Creates a new curve, formed by the points with parameterization:
p(t) = c(t) + d*n(t)/|n(t)|
, with p(t) being a point of
the original curve, n(t) the normal of the curve, and |n| being the
norm of n.
In the case of a continuous curve formed by several smooth circulinear
elements, the parallels of contiguous elements are joined by a circle
arc.
- Specified by:
getParallel
in interface CirculinearContinuousCurve2D
- Specified by:
getParallel
in interface CirculinearCurve2D
- Specified by:
getParallel
in interface ContinuousCirculinearCurve2D
- Parameters:
d
- the distance between the original curve and he parallel curve.
- Returns:
- the parallel curve
transform
public PolyCirculinearCurve2D<? extends CirculinearContinuousCurve2D> transform(CircleInversion2D inv)
- Description copied from interface:
CirculinearShape2D
- Transforms the shape by a circle inversion. The result is still an
instance a CirculinearShape2D.
- Specified by:
transform
in interface CirculinearContinuousCurve2D
- Specified by:
transform
in interface CirculinearCurve2D
- Specified by:
transform
in interface CirculinearShape2D
- Specified by:
transform
in interface ContinuousCirculinearCurve2D
- Parameters:
inv
- the circle inversion
- Returns:
- the transformed shape
getSmoothPieces
public Collection<? extends CirculinearElement2D> getSmoothPieces()
- Description copied from class:
PolyCurve2D
- Returns a collection containing only instances of SmoothCurve2D.
- Specified by:
getSmoothPieces
in interface CirculinearContinuousCurve2D
- Specified by:
getSmoothPieces
in interface ContinuousCirculinearCurve2D
- Specified by:
getSmoothPieces
in interface ContinuousCurve2D
- Overrides:
getSmoothPieces
in class PolyCurve2D<T extends CirculinearContinuousCurve2D>
- Returns:
- a collection of SmoothCurve2D
getContinuousCurves
public Collection<? extends PolyCirculinearCurve2D<?>> getContinuousCurves()
- Description copied from interface:
Curve2D
- Returns the collection of continuous curves which constitute this curve.
- Specified by:
getContinuousCurves
in interface CirculinearCurve2D
- Specified by:
getContinuousCurves
in interface Curve2D
- Overrides:
getContinuousCurves
in class PolyCurve2D<T extends CirculinearContinuousCurve2D>
- Returns:
- a collection of continuous curves.
clip
public CirculinearCurveSet2D<? extends CirculinearContinuousCurve2D> clip(Box2D box)
- Description copied from class:
PolyOrientedCurve2D
- Clip the PolyCurve2D by a box. The result is an instance of CurveSet2D,
which contains only instances of ContinuousOrientedCurve2D. If the
PolyCurve2D is not clipped, the result is an instance of CurveSet2D
which contains 0 curves.
- Specified by:
clip
in interface CirculinearContinuousCurve2D
- Specified by:
clip
in interface CirculinearCurve2D
- Specified by:
clip
in interface ContinuousCirculinearCurve2D
- Specified by:
clip
in interface ContinuousCurve2D
- Specified by:
clip
in interface Curve2D
- Specified by:
clip
in interface ContinuousOrientedCurve2D
- Specified by:
clip
in interface OrientedCurve2D
- Specified by:
clip
in interface Shape2D
- Overrides:
clip
in class PolyOrientedCurve2D<T extends CirculinearContinuousCurve2D>
- Parameters:
box
- the clipping box
- Returns:
- the clipped shape
getReverseCurve
public PolyCirculinearCurve2D<? extends CirculinearContinuousCurve2D> getReverseCurve()
- Description copied from interface:
Curve2D
- Returns the curve with same trace on the plane with parametrization in
reverse order.
- Specified by:
getReverseCurve
in interface CirculinearContinuousCurve2D
- Specified by:
getReverseCurve
in interface CirculinearCurve2D
- Specified by:
getReverseCurve
in interface ContinuousCirculinearCurve2D
- Specified by:
getReverseCurve
in interface ContinuousCurve2D
- Specified by:
getReverseCurve
in interface Curve2D
- Specified by:
getReverseCurve
in interface ContinuousOrientedCurve2D
- Specified by:
getReverseCurve
in interface OrientedCurve2D
- Overrides:
getReverseCurve
in class PolyOrientedCurve2D<T extends CirculinearContinuousCurve2D>
getSubCurve
public PolyCirculinearCurve2D<? extends CirculinearContinuousCurve2D> getSubCurve(double t0,
double t1)
- Description copied from class:
PolyOrientedCurve2D
- Return an instance of PolyOrientedCurve2D.
- Specified by:
getSubCurve
in interface CirculinearContinuousCurve2D
- Specified by:
getSubCurve
in interface CirculinearCurve2D
- Specified by:
getSubCurve
in interface ContinuousCirculinearCurve2D
- Specified by:
getSubCurve
in interface ContinuousCurve2D
- Specified by:
getSubCurve
in interface Curve2D
- Specified by:
getSubCurve
in interface ContinuousOrientedCurve2D
- Overrides:
getSubCurve
in class PolyOrientedCurve2D<T extends CirculinearContinuousCurve2D>
- Parameters:
t0
- position of the start of the sub-curvet1
- position of the end of the sub-curve
- Returns:
- the portion of original curve comprised between t0 and t1.
Copyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.