public class TLcdXYCompositeRing extends TLcdCompositeCurve implements ILcdRing
ILcdCompositeCurvethat is also an
ILcdRing, in the cartesian space. This class is thread-safe for concurrent read-only access of its contents. For read-write access, external locking must be used. Such locking is typically done at the model level.
INTERPOLATION_CIRCLE_BY_3POINTS, INTERPOLATION_CIRCLE_BY_CENTERPOINT, INTERPOLATION_CIRCULARARC_BY_3POINTS, INTERPOLATION_CIRCULARARC_BY_BULGE, INTERPOLATION_CIRCULARARC_BY_CENTERPOINT, INTERPOLATION_ELLIPTICAL, INTERPOLATION_GEODESIC, INTERPOLATION_LINEAR, INTERPOLATION_MIXED, INTERPOLATION_RHUMB
|Constructor and Description|
|Modifier and Type||Method and Description|
Creates and returns a copy of this object, by delegating to
Checks whether this
Returns the angle of the curve's tangent at the end point, in degrees counterclockwise from the direction at 3 o'clock.
Returns the length between two points of the curve, defined by the given parameters.
clearCache, computePointSFCT, contains3D, equals, getBounds, getCachedObject, getCurves, getEndPoint, getFocusPoint, getInterpolation, getLineSegmentIntersectionCount, getStartPoint, getStartTangent2D, getTangent2D, hashCode, insertIntoCache, removeCachedObject
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
computePointSFCT, getEndPoint, getInterpolation, getLineSegmentIntersectionCount, getStartPoint, getStartTangent2D, getTangent2D
contains2D, contains3D, contains3D, getFocusPoint
public double getEndTangent2D()
The tangent orientation is from the end point, away from the curve before it.
This is the same as
public double getLength2D(double aParam1, double aParam2)
aParam1 == aParam2, the length is 0.
aParam1 == 0 and aParam2 == 1, the length is the whole length of the curve.
aParam1 > aParam2, the length is (
aParam1 to 1) + (
0 to aParam2).
public boolean contains2D(double aX, double aY)
ILcdShapecontains the given point in the 2D space. Only the first two dimensions of the
public java.lang.Object clone()
Object.clone(). Extensions should delegate to this implementation with
super.clone(), in order to create an object instance of the right type, with all fields copied. They then should explicitly clone any non-primitive fields for which a deeper clone is required.