math.geom2d.domain
Interface OrientedCurve2D

All Superinterfaces:
java.lang.Cloneable, Curve2D, GeometricObject2D, Shape2D
All Known Subinterfaces:
Boundary2D, CircleLine2D, CircularShape2D, CirculinearBoundary2D, CirculinearContinuousCurve2D, CirculinearContour2D, CirculinearElement2D, CirculinearRing2D, Conic2D, ContinuousOrientedCurve2D, Contour2D, EllipseArcShape2D, EllipseShape2D, LinearElement2D, SmoothContour2D, SmoothOrientedCurve2D
All Known Implementing Classes:
AbstractLine2D, BoundaryPolyCirculinearCurve2D, BoundaryPolyCurve2D, Circle2D, CircleArc2D, CirculinearContourArray2D, ContourArray2D, CubicBezierCurve2D, Ellipse2D, EllipseArc2D, GenericCirculinearRing2D, Hyperbola2D, HyperbolaBranch2D, HyperbolaBranchArc2D, InvertedRay2D, Line2D, LineArc2D, LinearCurve2D, LinearRing2D, LineSegment2D, Parabola2D, ParabolaArc2D, PolyCirculinearCurve2D, Polyline2D, PolyOrientedCurve2D, QuadBezierCurve2D, Ray2D, StraightLine2D

public interface OrientedCurve2D
extends Curve2D

An OrientedCurve2D defines an 'inside' and an 'outside'. It is typically a part of the boundary of a domain. Several OrientedCurve2D form a Contour2D, and one or several Contour2D form a Boundary2D.

Author:
dlegland

Field Summary
 
Fields inherited from interface math.geom2d.Shape2D
ACCURACY
 
Method Summary
 CurveSet2D<? extends OrientedCurve2D> clip(Box2D box)
          When a curve is clipped, the result is a set of curves.
 boolean isInside(Point2D pt)
          Returns true if the point is 'inside' the domain bounded by the curve.
 OrientedCurve2D reverse()
          Returns the curve with same trace on the plane with parameterization in reverse order.
 double signedDistance(double x, double y)
          The same as distanceSigned(Point2D), but by passing 2 double as arguments.
 double signedDistance(Point2D point)
          Returns the signed distance of the curve to the given point.
 OrientedCurve2D transform(AffineTransform2D trans)
          Transforms the oriented curve, and returns another oriented curve.
 double windingAngle(Point2D point)
          Return the angle portion that the curve turn around the given point.
 
Methods inherited from interface math.geom2d.curve.Curve2D
asAwtShape, clone, continuousCurves, draw, firstPoint, getT0, getT1, intersections, isSingular, lastPoint, point, position, project, singularPoints, subCurve, 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

windingAngle

double windingAngle(Point2D point)
Return the angle portion that the curve turn around the given point. Result is a signed angle.

Parameters:
point - a point of the plane
Returns:
a signed angle

signedDistance

double signedDistance(Point2D point)
Returns the signed distance of the curve to the given point. The distance is positive if the point lies outside the shape, and negative if the point lies inside the shape. In both cases, absolute value of distance is equals to the distance to the border of the shape.

Parameters:
point - a point of the plane
Returns:
the signed distance to the curve

signedDistance

double signedDistance(double x,
                      double y)
The same as distanceSigned(Point2D), but by passing 2 double as arguments.

Parameters:
x - x-coord of a point
y - y-coord of a point
Returns:
the signed distance of the point (x,y) to the curve

isInside

boolean isInside(Point2D pt)
Returns true if the point is 'inside' the domain bounded by the curve.

Parameters:
pt - a point in the plane
Returns:
true if the point is on the left side of the curve.

reverse

OrientedCurve2D 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 Curve2D

clip

CurveSet2D<? extends OrientedCurve2D> clip(Box2D box)
Description copied from interface: Curve2D
When a curve is clipped, the result is a set of curves.

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

transform

OrientedCurve2D transform(AffineTransform2D trans)
Transforms the oriented curve, and returns another oriented curve. If transform is not direct, the domains bounded by the transformed curve should be complemented to have same orientation as the original domain.

Specified by:
transform in interface Curve2D
Specified by:
transform in interface Shape2D
Parameters:
trans - an affine transform
Returns:
the transformed shape