math.geom2d.circulinear
Interface CirculinearContinuousCurve2D

All Superinterfaces:
CirculinearCurve2D, CirculinearShape2D, java.lang.Cloneable, ContinuousCurve2D, ContinuousOrientedCurve2D, Curve2D, GeometricObject2D, OrientedCurve2D, Shape2D
All Known Subinterfaces:
CircleLine2D, CircularShape2D, CirculinearContour2D, CirculinearElement2D, CirculinearRing2D, LinearElement2D
All Known Implementing Classes:
AbstractLine2D, BoundaryPolyCirculinearCurve2D, Circle2D, CircleArc2D, GenericCirculinearRing2D, InvertedRay2D, Line2D, LineArc2D, LinearCurve2D, LinearRing2D, LineSegment2D, PolyCirculinearCurve2D, Polyline2D, Ray2D, StraightLine2D

public interface CirculinearContinuousCurve2D
extends CirculinearCurve2D, ContinuousOrientedCurve2D

A tagging interface defining a circulinear curve which is continuous.

Author:
dlegland

Field Summary
 
Fields inherited from interface math.geom2d.Shape2D
ACCURACY
 
Method Summary
 CurveSet2D<? extends CirculinearContinuousCurve2D> clip(Box2D box)
          Clip the shape with the given box, and returns a new shape.
 CirculinearContinuousCurve2D parallel(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.
 CirculinearContinuousCurve2D reverse()
          Returns the curve with same trace on the plane with parameterization in reverse order.
 java.util.Collection<? extends CirculinearElement2D> smoothPieces()
          Returns a set of circulinear elements, which are basis for circulinear curves.
 CirculinearContinuousCurve2D subCurve(double t0, double t1)
          Returns a portion of the original curve, delimited by two positions on the curve.
 CirculinearContinuousCurve2D transform(CircleInversion2D inv)
          Transforms the shape by a circle inversion.
 
Methods inherited from interface math.geom2d.circulinear.CirculinearCurve2D
continuousCurves, length, length, position
 
Methods inherited from interface math.geom2d.circulinear.CirculinearShape2D
buffer
 
Methods inherited from interface math.geom2d.domain.ContinuousOrientedCurve2D
transform
 
Methods inherited from interface math.geom2d.curve.ContinuousCurve2D
appendPath, asPolyline, curvature, isClosed, leftTangent, rightTangent
 
Methods inherited from interface math.geom2d.domain.OrientedCurve2D
isInside, signedDistance, signedDistance, windingAngle
 
Methods inherited from interface math.geom2d.curve.Curve2D
asAwtShape, clone, draw, firstPoint, getT0, getT1, intersections, isSingular, lastPoint, point, position, project, singularPoints, t0, t1, vertices
 
Methods inherited from interface math.geom2d.Shape2D
boundingBox, contains, contains, distance, distance, isBounded, isEmpty
 
Methods inherited from interface math.geom2d.GeometricObject2D
almostEquals
 

Method Detail

parallel

CirculinearContinuousCurve2D parallel(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:
parallel in interface CirculinearCurve2D
Parameters:
d - the distance between the original curve and he parallel curve.
Returns:
the parallel curve

transform

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 CirculinearCurve2D
Specified by:
transform in interface CirculinearShape2D
Parameters:
inv - the circle inversion
Returns:
the transformed shape

smoothPieces

java.util.Collection<? extends CirculinearElement2D> smoothPieces()
Returns a set of circulinear elements, which are basis for circulinear curves.

Specified by:
smoothPieces in interface ContinuousCurve2D

clip

CurveSet2D<? extends CirculinearContinuousCurve2D> clip(Box2D box)
Description copied from interface: Shape2D
Clip the shape with the given box, and returns a new shape. The box must be bounded.

Specified by:
clip in interface CirculinearCurve2D
Specified by:
clip in interface ContinuousCurve2D
Specified by:
clip in interface ContinuousOrientedCurve2D
Specified by:
clip in interface Curve2D
Specified by:
clip in interface OrientedCurve2D
Specified by:
clip in interface Shape2D
Parameters:
box - the clipping box
Returns:
the clipped shape

subCurve

CirculinearContinuousCurve2D subCurve(double t0,
                                      double t1)
Description copied from interface: Curve2D
Returns a portion of the original curve, delimited by two positions on the curve.

Specified by:
subCurve in interface CirculinearCurve2D
Specified by:
subCurve in interface ContinuousCurve2D
Specified by:
subCurve in interface ContinuousOrientedCurve2D
Specified by:
subCurve in interface Curve2D
Parameters:
t0 - position of the start of the sub-curve
t1 - position of the end of the sub-curve
Returns:
the portion of original curve comprised between t0 and t1.

reverse

CirculinearContinuousCurve2D reverse()
Description copied from interface: Curve2D
Returns the curve with same trace on the plane with parameterization in reverse order.

Specified by:
reverse in interface CirculinearCurve2D
Specified by:
reverse in interface ContinuousCurve2D
Specified by:
reverse in interface ContinuousOrientedCurve2D
Specified by:
reverse in interface Curve2D
Specified by:
reverse in interface OrientedCurve2D