math.geom2d.curve
Class BoundaryPolyCurve2D<T extends ContinuousOrientedCurve2D>

java.lang.Object
  extended by math.geom2d.curve.CurveSet2D<T>
      extended by math.geom2d.curve.PolyCurve2D<T>
          extended by math.geom2d.curve.PolyOrientedCurve2D<T>
              extended by math.geom2d.curve.BoundaryPolyCurve2D<T>
All Implemented Interfaces:
java.awt.Shape, java.lang.Iterable<T>, Boundary2D, ContinuousBoundary2D, ContinuousCurve2D, ContinuousOrientedCurve2D, Curve2D, OrientedCurve2D, Shape2D

public class BoundaryPolyCurve2D<T extends ContinuousOrientedCurve2D>
extends PolyOrientedCurve2D<T>
implements ContinuousBoundary2D

A single continuous oriented curve, which defines the boundary of a planar domain. The boundary curve is composed of several continuous and oriented curves linked together to form a continuous curve.

Author:
dlegland

Field Summary
 
Fields inherited from class math.geom2d.curve.PolyCurve2D
closed
 
Fields inherited from class math.geom2d.curve.CurveSet2D
curves
 
Fields inherited from interface math.geom2d.curve.ContinuousCurve2D
CIRCLE, CLOSED_EDGE, LOOP, OPEN_EDGE
 
Fields inherited from interface math.geom2d.Shape2D
ACCURACY, defaultClipWindow, EMPTY_SET
 
Constructor Summary
BoundaryPolyCurve2D()
           
BoundaryPolyCurve2D(java.util.Collection<? extends T> curves)
           
BoundaryPolyCurve2D(T[] curves)
           
 
Method Summary
 java.util.Collection<ContinuousBoundary2D> getBoundaryCurves()
          return a ArrayList containing only this.
 BoundaryPolyCurve2D<? extends ContinuousOrientedCurve2D> getReverseCurve()
          Returns the curve with same trace on the plane with parametrization in reverse order.
 BoundaryPolyCurve2D<ContinuousOrientedCurve2D> transform(AffineTransform2D trans)
          Transform each curve, and build a new CurveSet2D with the set of transformed curves.
 
Methods inherited from class math.geom2d.curve.PolyOrientedCurve2D
clip, getSignedDistance, getSignedDistance, getSubCurve, getWindingAngle, isInside
 
Methods inherited from class math.geom2d.curve.PolyCurve2D
appendPath, getAsPolyline, getGeneralPath, getPathIterator, getPathIterator, getSmoothPieces, isClosed, setClosed
 
Methods inherited from class math.geom2d.curve.CurveSet2D
addCurve, clearCurves, contains, contains, contains, contains, equals, fromUnitSegment, getBoundingBox, getBounds, getBounds2D, getContinuousCurves, getCurveNumber, getCurves, getDistance, getDistance, getFirstCurve, getFirstPoint, getIntersections, getLastCurve, getLastPoint, getPoint, getPoint, getPosition, getT0, getT1, intersects, intersects, isBounded, isEmpty, iterator, project, removeCurve, toUnitSegment
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface math.geom2d.curve.ContinuousOrientedCurve2D
clip, getSubCurve
 
Methods inherited from interface math.geom2d.curve.ContinuousCurve2D
appendPath, getAsPolyline, getSmoothPieces, isClosed
 
Methods inherited from interface math.geom2d.curve.OrientedCurve2D
getSignedDistance, getSignedDistance, getWindingAngle, isInside
 
Methods inherited from interface math.geom2d.curve.Curve2D
getContinuousCurves, getFirstPoint, getIntersections, getLastPoint, getPoint, getPoint, getPosition, getT0, getT1, project
 
Methods inherited from interface math.geom2d.Shape2D
getBoundingBox, getDistance, getDistance, isBounded
 
Methods inherited from interface java.awt.Shape
contains, contains, contains, contains, getBounds, getBounds2D, getPathIterator, getPathIterator, intersects, intersects
 

Constructor Detail

BoundaryPolyCurve2D

public BoundaryPolyCurve2D()

BoundaryPolyCurve2D

public BoundaryPolyCurve2D(T[] curves)

BoundaryPolyCurve2D

public BoundaryPolyCurve2D(java.util.Collection<? extends T> curves)
Method Detail

getBoundaryCurves

public java.util.Collection<ContinuousBoundary2D> getBoundaryCurves()
return a ArrayList containing only this.

Specified by:
getBoundaryCurves in interface Boundary2D

getReverseCurve

public BoundaryPolyCurve2D<? extends ContinuousOrientedCurve2D> getReverseCurve()
Description copied from interface: Curve2D
Returns the curve with same trace on the plane with parametrization in reverse order.

Specified by:
getReverseCurve in interface Boundary2D
Specified by:
getReverseCurve in interface ContinuousBoundary2D
Specified by:
getReverseCurve in interface ContinuousCurve2D
Specified by:
getReverseCurve in interface ContinuousOrientedCurve2D
Specified by:
getReverseCurve in interface Curve2D
Specified by:
getReverseCurve in interface OrientedCurve2D
Overrides:
getReverseCurve in class PolyOrientedCurve2D<T extends ContinuousOrientedCurve2D>

transform

public BoundaryPolyCurve2D<ContinuousOrientedCurve2D> transform(AffineTransform2D trans)
Description copied from class: CurveSet2D
Transform each curve, and build a new CurveSet2D with the set of transformed curves.

Specified by:
transform in interface Boundary2D
Specified by:
transform in interface ContinuousBoundary2D
Specified by:
transform in interface ContinuousCurve2D
Specified by:
transform in interface ContinuousOrientedCurve2D
Specified by:
transform in interface Curve2D
Specified by:
transform in interface OrientedCurve2D
Specified by:
transform in interface Shape2D
Overrides:
transform in class PolyOrientedCurve2D<T extends ContinuousOrientedCurve2D>
Parameters:
trans - an affine transform
Returns:
the transformed shape