math.geom2d.circulinear
Class GenericCirculinearRing2D
- java.lang.Object
-
- math.geom2d.curve.CurveArray2D<T>
-
- math.geom2d.curve.PolyCurve2D<T>
-
- math.geom2d.domain.PolyOrientedCurve2D<T>
-
- math.geom2d.circulinear.PolyCirculinearCurve2D<CirculinearElement2D>
-
- math.geom2d.circulinear.GenericCirculinearRing2D
-
- All Implemented Interfaces:
- java.lang.Cloneable, java.lang.Iterable<CirculinearElement2D>, CirculinearBoundary2D, CirculinearContinuousCurve2D, CirculinearContour2D, CirculinearCurve2D, CirculinearRing2D, CirculinearShape2D, ContinuousCurve2D, Curve2D, CurveSet2D<CirculinearElement2D>, Boundary2D, ContinuousOrientedCurve2D, Contour2D, OrientedCurve2D, GeometricObject2D, Shape2D, ShapeSet2D<CirculinearElement2D>
public class GenericCirculinearRing2D extends PolyCirculinearCurve2D<CirculinearElement2D> implements CirculinearRing2D
A basic implementation of a CirculinearRing2D, which is assumed to be always bounded and closed.
-
-
Constructor Summary
Constructors Constructor and Description GenericCirculinearRing2D()GenericCirculinearRing2D(CirculinearElement2D... curves)GenericCirculinearRing2D(java.util.Collection<? extends CirculinearElement2D> curves)GenericCirculinearRing2D(int size)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.util.Collection<? extends GenericCirculinearRing2D>continuousCurves()Returns a collection of PolyCurve2D that contains only this instance.static GenericCirculinearRing2Dcreate(CirculinearElement2D... curves)Static factory for creating a new GenericCirculinearRing2D from an array of curves.CirculinearDomain2Ddomain()Returns the domain delimited by this boundary.voidfill(java.awt.Graphics2D g2)Fills the interior of the boundary, using the Graphics current Paint.CirculinearRing2Dparallel(double dist)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.GenericCirculinearRing2Dreverse()Returns the reverse curve of this PolyCurve2D.BoundaryPolyCurve2D<ContinuousOrientedCurve2D>transform(AffineTransform2D trans)Transforms each smooth piece in this PolyCurve2D and returns a new instance of PolyCurve2D.GenericCirculinearRing2Dtransform(CircleInversion2D inv)Transforms the shape by a circle inversion.-
Methods inherited from class math.geom2d.circulinear.PolyCirculinearCurve2D
buffer, clip, create, create, createClosed, length, length, position, smoothPieces, subCurve
-
Methods inherited from class math.geom2d.domain.PolyOrientedCurve2D
equals, isInside, signedDistance, signedDistance, windingAngle
-
Methods inherited from class math.geom2d.curve.PolyCurve2D
appendPath, asPolyline, create, curvature, draw, getGeneralPath, isClosed, leftTangent, rightTangent, setClosed
-
Methods inherited from class math.geom2d.curve.CurveArray2D
add, add, almostEquals, asAwtShape, boundingBox, childCurve, clear, clone, contains, contains, contains, create, curveIndex, curves, distance, distance, firstCurve, firstPoint, get, getT0, getT1, globalPosition, indexOf, intersections, isBounded, isEmpty, isSingular, iterator, lastCurve, lastPoint, localPosition, point, position, project, remove, remove, singularPoints, size, t0, t1, vertices
-
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface math.geom2d.circulinear.CirculinearContinuousCurve2D
clip, smoothPieces, subCurve
-
Methods inherited from interface math.geom2d.curve.ContinuousCurve2D
appendPath, asPolyline, curvature, isClosed, leftTangent, rightTangent
-
Methods inherited from interface math.geom2d.circulinear.CirculinearBoundary2D
clip
-
Methods inherited from interface math.geom2d.circulinear.CirculinearCurve2D
length, length, position
-
Methods inherited from interface math.geom2d.circulinear.CirculinearShape2D
buffer
-
Methods inherited from interface math.geom2d.domain.Boundary2D
isInside
-
Methods inherited from interface math.geom2d.domain.OrientedCurve2D
signedDistance, signedDistance, windingAngle
-
-
-
-
Constructor Detail
-
GenericCirculinearRing2D
public GenericCirculinearRing2D()
-
GenericCirculinearRing2D
public GenericCirculinearRing2D(int size)
-
GenericCirculinearRing2D
public GenericCirculinearRing2D(CirculinearElement2D... curves)
-
GenericCirculinearRing2D
public GenericCirculinearRing2D(java.util.Collection<? extends CirculinearElement2D> curves)
-
-
Method Detail
-
create
public static GenericCirculinearRing2D create(CirculinearElement2D... curves)
Static factory for creating a new GenericCirculinearRing2D from an array of curves.- Since:
- 0.8.1
-
parallel
public CirculinearRing2D parallel(double dist)
Description copied from interface:CirculinearCurve2DCreates 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:
parallelin interfaceCirculinearBoundary2D- Specified by:
parallelin interfaceCirculinearContinuousCurve2D- Specified by:
parallelin interfaceCirculinearContour2D- Specified by:
parallelin interfaceCirculinearCurve2D- Specified by:
parallelin interfaceCirculinearRing2D- Overrides:
parallelin classPolyCirculinearCurve2D<CirculinearElement2D>- Parameters:
dist- the distance between the original curve and he parallel curve.- Returns:
- the parallel curve
-
continuousCurves
public java.util.Collection<? extends GenericCirculinearRing2D> continuousCurves()
Description copied from class:PolyCurve2DReturns a collection of PolyCurve2D that contains only this instance.- Specified by:
continuousCurvesin interfaceCirculinearBoundary2D- Specified by:
continuousCurvesin interfaceCirculinearCurve2D- Specified by:
continuousCurvesin interfaceCurve2D- Specified by:
continuousCurvesin interfaceBoundary2D- Overrides:
continuousCurvesin classPolyCirculinearCurve2D<CirculinearElement2D>- Returns:
- a collection of continuous curves.
-
transform
public GenericCirculinearRing2D transform(CircleInversion2D inv)
Description copied from interface:CirculinearShape2DTransforms the shape by a circle inversion. The result is still an instance a CirculinearShape2D.- Specified by:
transformin interfaceCirculinearBoundary2D- Specified by:
transformin interfaceCirculinearContinuousCurve2D- Specified by:
transformin interfaceCirculinearContour2D- Specified by:
transformin interfaceCirculinearCurve2D- Specified by:
transformin interfaceCirculinearShape2D- Overrides:
transformin classPolyCirculinearCurve2D<CirculinearElement2D>- Parameters:
inv- the circle inversion- Returns:
- the transformed shape
-
fill
public void fill(java.awt.Graphics2D g2)
Description copied from interface:Boundary2DFills the interior of the boundary, using the Graphics current Paint.- Specified by:
fillin interfaceBoundary2D- Parameters:
g2- the Graphics to fill on
-
domain
public CirculinearDomain2D domain()
Description copied from interface:Boundary2DReturns the domain delimited by this boundary.- Specified by:
domainin interfaceCirculinearBoundary2D- Specified by:
domainin interfaceCirculinearRing2D- Specified by:
domainin interfaceBoundary2D- Returns:
- the domain delimited by this boundary
-
reverse
public GenericCirculinearRing2D reverse()
Description copied from class:PolyCurve2DReturns the reverse curve of this PolyCurve2D.- Specified by:
reversein interfaceCirculinearBoundary2D- Specified by:
reversein interfaceCirculinearContinuousCurve2D- Specified by:
reversein interfaceCirculinearContour2D- Specified by:
reversein interfaceCirculinearCurve2D- Specified by:
reversein interfaceCirculinearRing2D- Specified by:
reversein interfaceContinuousCurve2D- Specified by:
reversein interfaceCurve2D- Specified by:
reversein interfaceBoundary2D- Specified by:
reversein interfaceContinuousOrientedCurve2D- Specified by:
reversein interfaceContour2D- Specified by:
reversein interfaceOrientedCurve2D- Overrides:
reversein classPolyCirculinearCurve2D<CirculinearElement2D>
-
transform
public BoundaryPolyCurve2D<ContinuousOrientedCurve2D> transform(AffineTransform2D trans)
Description copied from class:PolyCurve2DTransforms each smooth piece in this PolyCurve2D and returns a new instance of PolyCurve2D.- Specified by:
transformin interfaceContinuousCurve2D- Specified by:
transformin interfaceCurve2D- Specified by:
transformin interfaceCurveSet2D<CirculinearElement2D>- Specified by:
transformin interfaceBoundary2D- Specified by:
transformin interfaceContinuousOrientedCurve2D- Specified by:
transformin interfaceContour2D- Specified by:
transformin interfaceOrientedCurve2D- Specified by:
transformin interfaceShape2D- Overrides:
transformin classPolyOrientedCurve2D<CirculinearElement2D>- Parameters:
trans- an affine transform- Returns:
- the transformed shape
-
-
DMelt 3.0 © DataMelt by jWork.ORG