public class PolyCirculinearCurve2D<T extends CirculinearContinuousCurve2D> extends PolyOrientedCurve2D<T> implements CirculinearContinuousCurve2D
closed
curves
Constructor and Description |
---|
PolyCirculinearCurve2D() |
PolyCirculinearCurve2D(Collection<? extends T> curves) |
PolyCirculinearCurve2D(Collection<? extends T> curves,
boolean closed) |
PolyCirculinearCurve2D(int size) |
PolyCirculinearCurve2D(T[] curves) |
PolyCirculinearCurve2D(T[] curves,
boolean closed) |
Modifier and Type | Method and Description |
---|---|
CirculinearCurveSet2D<? extends CirculinearContinuousCurve2D> |
clip(Box2D box)
Clip the PolyCurve2D by a box.
|
CirculinearDomain2D |
getBuffer(double dist)
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.
|
Collection<? extends PolyCirculinearCurve2D<?>> |
getContinuousCurves()
Returns the collection of continuous curves which constitute this curve.
|
double |
getLength() |
double |
getLength(double pos) |
CirculinearContinuousCurve2D |
getParallel(double d)
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. |
double |
getPosition(double length) |
PolyCirculinearCurve2D<? extends CirculinearContinuousCurve2D> |
getReverseCurve()
Returns the curve with same trace on the plane with parametrization in
reverse order.
|
Collection<? extends CirculinearElement2D> |
getSmoothPieces()
Returns a collection containing only instances of SmoothCurve2D.
|
PolyCirculinearCurve2D<? extends CirculinearContinuousCurve2D> |
getSubCurve(double t0,
double t1)
Return an instance of PolyOrientedCurve2D.
|
PolyCirculinearCurve2D<? extends CirculinearContinuousCurve2D> |
transform(CircleInversion2D inv)
Transforms the shape by a circle inversion.
|
getSignedDistance, getSignedDistance, getWindingAngle, isInside, transform
appendPath, draw, equals, getAsPolyline, getGeneralPath, getLeftTangent, getRightTangent, isClosed, setClosed, wrapCurve
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
fromUnitSegment, toUnitSegment
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
transform
appendPath, getAsPolyline, getLeftTangent, getRightTangent, isClosed
getSignedDistance, getSignedDistance, getWindingAngle, isInside
clone, draw, getAsAWTShape, getFirstPoint, getIntersections, getLastPoint, getPoint, getPosition, getSingularPoints, getT0, getT1, isSingular, project
contains, contains, getBoundingBox, getDistance, getDistance, isBounded, isEmpty
public PolyCirculinearCurve2D()
public PolyCirculinearCurve2D(int size)
public PolyCirculinearCurve2D(T[] curves)
public PolyCirculinearCurve2D(T[] curves, boolean closed)
public PolyCirculinearCurve2D(Collection<? extends T> curves)
public PolyCirculinearCurve2D(Collection<? extends T> curves, boolean closed)
public double getLength()
getLength
in interface CirculinearCurve2D
public double getLength(double pos)
getLength
in interface CirculinearCurve2D
public double getPosition(double length)
getPosition
in interface CirculinearCurve2D
public CirculinearDomain2D getBuffer(double dist)
CirculinearShape2D
getBuffer
in interface CirculinearShape2D
dist
- the maximal distance between a point of the buffer and the
shapepublic CirculinearContinuousCurve2D getParallel(double d)
CirculinearCurve2D
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.getParallel
in interface CirculinearContinuousCurve2D
getParallel
in interface CirculinearCurve2D
getParallel
in interface ContinuousCirculinearCurve2D
d
- the distance between the original curve and he parallel curve.public PolyCirculinearCurve2D<? extends CirculinearContinuousCurve2D> transform(CircleInversion2D inv)
CirculinearShape2D
transform
in interface CirculinearContinuousCurve2D
transform
in interface CirculinearCurve2D
transform
in interface CirculinearShape2D
transform
in interface ContinuousCirculinearCurve2D
inv
- the circle inversionpublic Collection<? extends CirculinearElement2D> getSmoothPieces()
PolyCurve2D
getSmoothPieces
in interface CirculinearContinuousCurve2D
getSmoothPieces
in interface ContinuousCirculinearCurve2D
getSmoothPieces
in interface ContinuousCurve2D
getSmoothPieces
in class PolyCurve2D<T extends CirculinearContinuousCurve2D>
public Collection<? extends PolyCirculinearCurve2D<?>> getContinuousCurves()
Curve2D
getContinuousCurves
in interface CirculinearCurve2D
getContinuousCurves
in interface Curve2D
getContinuousCurves
in class PolyCurve2D<T extends CirculinearContinuousCurve2D>
public CirculinearCurveSet2D<? extends CirculinearContinuousCurve2D> clip(Box2D box)
PolyOrientedCurve2D
clip
in interface CirculinearContinuousCurve2D
clip
in interface CirculinearCurve2D
clip
in interface ContinuousCirculinearCurve2D
clip
in interface ContinuousCurve2D
clip
in interface Curve2D
clip
in interface ContinuousOrientedCurve2D
clip
in interface OrientedCurve2D
clip
in interface Shape2D
clip
in class PolyOrientedCurve2D<T extends CirculinearContinuousCurve2D>
box
- the clipping boxpublic PolyCirculinearCurve2D<? extends CirculinearContinuousCurve2D> getReverseCurve()
Curve2D
getReverseCurve
in interface CirculinearContinuousCurve2D
getReverseCurve
in interface CirculinearCurve2D
getReverseCurve
in interface ContinuousCirculinearCurve2D
getReverseCurve
in interface ContinuousCurve2D
getReverseCurve
in interface Curve2D
getReverseCurve
in interface ContinuousOrientedCurve2D
getReverseCurve
in interface OrientedCurve2D
getReverseCurve
in class PolyOrientedCurve2D<T extends CirculinearContinuousCurve2D>
public PolyCirculinearCurve2D<? extends CirculinearContinuousCurve2D> getSubCurve(double t0, double t1)
PolyOrientedCurve2D
getSubCurve
in interface CirculinearContinuousCurve2D
getSubCurve
in interface CirculinearCurve2D
getSubCurve
in interface ContinuousCirculinearCurve2D
getSubCurve
in interface ContinuousCurve2D
getSubCurve
in interface Curve2D
getSubCurve
in interface ContinuousOrientedCurve2D
getSubCurve
in class PolyOrientedCurve2D<T extends CirculinearContinuousCurve2D>
t0
- position of the start of the sub-curvet1
- position of the end of the sub-curveCopyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.