public class CirculinearBoundarySet2D<T extends CirculinearContour2D> extends BoundarySet2D<T> implements CirculinearBoundary2D
curves
Constructor and Description |
---|
CirculinearBoundarySet2D()
Empty constructor.
|
CirculinearBoundarySet2D(Collection<? extends T> curves)
Constructor from a collection of curves.
|
CirculinearBoundarySet2D(int n)
Empty constructor.
|
CirculinearBoundarySet2D(T curve)
Constructor from a collection of curves.
|
CirculinearBoundarySet2D(T[] curves)
Constructor from an array of curves.
|
Modifier and Type | Method and Description |
---|---|
CirculinearCurveSet2D<? extends CirculinearContinuousCurve2D> |
clip(Box2D box)
Clip the curve 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 CirculinearContour2D> |
getContinuousCurves()
Returns the collection of continuous curves which constitute this curve.
|
double |
getLength() |
double |
getLength(double pos) |
CirculinearCurve2D |
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) |
CirculinearBoundarySet2D<? extends CirculinearContour2D> |
getReverseCurve()
Returns the curve with same trace on the plane with parametrization in
reverse order.
|
CirculinearCurveSet2D<? extends CirculinearContinuousCurve2D> |
getSubCurve(double t0,
double t1)
Return an instance of CurveArray2D.
|
CirculinearBoundarySet2D<? extends CirculinearContour2D> |
transform(CircleInversion2D inv)
Transforms the shape by a circle inversion.
|
create, create, fill, getBoundaryCurves, getDomain, getSignedDistance, getSignedDistance, getWindingAngle, isInside, transform
addCurve, clearCurves, clone, contains, contains, containsCurve, draw, equals, getAsAWTShape, getBoundingBox, getChildCurve, getCurve, getCurveIndex, getCurveNumber, getCurves, getDistance, getDistance, getFirstCurve, getFirstPoint, getGeneralPath, 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
fill, getBoundaryCurves, getDomain, isInside, transform
getSignedDistance, getSignedDistance, getWindingAngle
clone, draw, getAsAWTShape, getFirstPoint, getIntersections, getLastPoint, getPoint, getPosition, getSingularPoints, getT0, getT1, isSingular, project
contains, contains, getBoundingBox, getDistance, getDistance, isBounded, isEmpty
public CirculinearBoundarySet2D()
public CirculinearBoundarySet2D(int n)
public CirculinearBoundarySet2D(T[] curves)
curves
- the array of curves in the setpublic CirculinearBoundarySet2D(T curve)
curves
- the collection of curves to add to the setpublic CirculinearBoundarySet2D(Collection<? extends T> curves)
curves
- the collection of curves to add to the setpublic 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 CirculinearCurve2D 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 CirculinearCurve2D
d
- the distance between the original curve and he parallel curve.public CirculinearBoundarySet2D<? extends CirculinearContour2D> transform(CircleInversion2D inv)
CirculinearShape2D
transform
in interface CirculinearBoundary2D
transform
in interface CirculinearCurve2D
transform
in interface CirculinearShape2D
inv
- the circle inversionpublic Collection<? extends CirculinearContour2D> getContinuousCurves()
Curve2D
getContinuousCurves
in interface CirculinearBoundary2D
getContinuousCurves
in interface CirculinearCurve2D
getContinuousCurves
in interface Curve2D
getContinuousCurves
in class CurveArray2D<T extends CirculinearContour2D>
public CirculinearCurveSet2D<? extends CirculinearContinuousCurve2D> clip(Box2D box)
BoundarySet2D
clip
in interface CirculinearBoundary2D
clip
in interface CirculinearCurve2D
clip
in interface Curve2D
clip
in interface OrientedCurve2D
clip
in interface Shape2D
clip
in class BoundarySet2D<T extends CirculinearContour2D>
box
- the clipping boxpublic CirculinearBoundarySet2D<? extends CirculinearContour2D> getReverseCurve()
Curve2D
getReverseCurve
in interface CirculinearBoundary2D
getReverseCurve
in interface CirculinearCurve2D
getReverseCurve
in interface Curve2D
getReverseCurve
in interface Boundary2D
getReverseCurve
in interface OrientedCurve2D
getReverseCurve
in class BoundarySet2D<T extends CirculinearContour2D>
public CirculinearCurveSet2D<? extends CirculinearContinuousCurve2D> getSubCurve(double t0, double t1)
CurveArray2D
getSubCurve
in interface CirculinearCurve2D
getSubCurve
in interface Curve2D
getSubCurve
in class BoundarySet2D<T extends CirculinearContour2D>
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.