public class TLcdXYCompositeRing extends TLcdCompositeCurve implements ILcdRing
ILcdCompositeCurve
that 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 |
---|
TLcdXYCompositeRing() |
Modifier and Type | Method and Description |
---|---|
Object |
clone()
Creates and returns a copy of this object, by delegating to
Object.clone() . |
boolean |
contains2D(double aX,
double aY)
Checks whether this
ILcdShape contains the given point in
the 2D space. |
double |
getEndTangent2D()
Returns the angle of the curve's tangent at the end point,
in degrees counterclockwise from the direction at 3 o'clock.
|
double |
getLength2D(double aParam1,
double aParam2)
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
contains2D, contains3D, fromDomainObject
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
computePointSFCT, getEndPoint, getInterpolation, getLineSegmentIntersectionCount, getStartPoint, getStartTangent2D, getTangent2D
contains2D, contains3D, contains3D, getFocusPoint
getBounds
public double getEndTangent2D()
ILcdCurve
The tangent orientation is from the end point, away from the curve before it.
This is the same as getTangent2D(1)
.
getEndTangent2D
in interface ILcdCurve
getEndTangent2D
in class TLcdCompositeCurve
public double getLength2D(double aParam1, double aParam2)
ILcdCurve
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
).getLength2D
in interface ILcdCurve
getLength2D
in class TLcdCompositeCurve
aParam1
- a value of the closed interval [0,1]aParam2
- a value of the closed interval [0,1]public boolean contains2D(double aX, double aY)
ILcdShape
ILcdShape
contains the given point in
the 2D space. Only the first two dimensions of the ILcdShape
are considered.contains2D
in interface ILcdShape
contains2D
in class TLcdCompositeCurve
aX
- the x coordinate of the point.aY
- the y coordinate of the point.public Object clone()
ALcdShape
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.clone
in interface ILcdCloneable
clone
in class TLcdCompositeCurve
Object.clone()