2023.1.08

• ### Fields inherited from interface com.luciad.shape.ILcdCurve

`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 Summary

Constructors
Constructor and Description
```TLcdXYFloatLine(double aX1, double aY1, double aX2, double aY2)```
```TLcdXYFloatLine(float aX1, float aY1, float aX2, float aY2)```
• ### Method Summary

All Methods
Modifier and Type Method and Description
`Object` `clone()`
Creates and returns a copy of this object, by delegating to `Object.clone()`.
`void` ```computePointSFCT(double aParam, ILcd3DEditablePoint aPointSFCT)```
Computes a point of the curve, defined by the given parameter.
`boolean` ```contains2D(double aX, double aY)```
Checks whether this `ILcdShape` contains the given point in the 2D space.
`boolean` `equals(Object aObject)`
Returns whether the given object has the same class, the same focus point, and the same coordinates.
`ILcdBounds` `getBounds()`
Returns the `ILcdBounds` by which the geometry of this `ILcdBounded` object is bounded.
`ILcdPoint` `getEndPoint()`
Retrieves the end point of the curve.
`double` `getEndTangent2D()`
Returns the angle of the curve's tangent at the end point, in degrees counterclockwise from the direction at 3 o'clock.
`ILcdPoint` `getFocusPoint()`
Returns the focus point of this `ILcdShape`.
`String` `getInterpolation()`
Returns the interpolation method used by this curve.
`double` ```getLength2D(double aParam1, double aParam2)```
Returns the length between two points of the curve, defined by the given parameters.
`int` ```getLineSegmentIntersectionCount(ILcdPoint aP1, ILcdPoint aP2)```
Returns the number of intersections between this curve and a line segment defined by the two specified points.
`ILcdPoint` `getPoint(int aIndex)`
Returns the `ILcdPoint` at a given index.
`int` `getPointCount()`
Returns the number of `ILcdPoint` objects in the list.
`ILcdPoint` `getStartPoint()`
Retrieves the start point of the curve.
`double` `getStartTangent2D()`
Returns the angle of the curve's tangent at the start point, in degrees counterclockwise from the direction at 3 o'clock.
`double` `getTangent2D(double aParam)`
Returns the angle of the curve's tangent in the point defined by the given parameter, in degrees counterclockwise from the direction at 3 o'clock.
`int` `hashCode()`
The hash code of this shape is the hash code of its class, in order to be consistent with the `ALcdShape.equals(Object)` method.
`void` ```insert2DPoint(int aIndex, double aX, double aY)```
Inserts a point at the given index into this `ILcd2DEditablePointList`.
`void` ```move2DPoint(int aIndex, double aX, double aY)```
Moves the specified point of this `ILcd2DEditablePointList` to the given point in the 2D space.
`void` `removePointAt(int aIndex)`
Removes the point at the given index from this `ILcd2DEditablePointList`.
`String` `toString()`
`void` ```translate2D(double aDeltaX, double aDeltaY)```
Translates this `ILcd2DEditableShape` from its current position over the given translation vector in the 2D space.
`void` ```translate2DPoint(int aIndex, double aDeltaX, double aDeltaY)```
Translates the specified point of this `ILcd2DEditablePointList` from its current position over the given translation vector in the 2D space.
• ### Methods inherited from class com.luciad.shape.shape2D.ALcd2DEditableShape

`contains3D, move2D, move2D`
• ### Methods inherited from class com.luciad.shape.ALcdShape

`contains2D, contains3D, fromDomainObject`
• ### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`
• ### Methods inherited from interface com.luciad.shape.shape2D.ILcd2DEditableShape

`move2D, move2D`
• ### Methods inherited from interface com.luciad.shape.ILcdShape

`contains2D, contains3D, contains3D`
• ### Methods inherited from interface com.luciad.shape.shape2D.ILcd2DEditablePointList

`append2DPoint`
• ### Methods inherited from interface com.luciad.shape.ILcdPointList

`getPointSFCT, getX, getY, getZ`
• ### Constructor Detail

• #### TLcdXYFloatLine

```public TLcdXYFloatLine(float aX1,
float aY1,
float aX2,
float aY2)```
• #### TLcdXYFloatLine

```public TLcdXYFloatLine(double aX1,
double aY1,
double aX2,
double aY2)```
• ### Method Detail

• #### getFocusPoint

`public ILcdPoint getFocusPoint()`
Description copied from interface: `ILcdShape`
Returns the focus point of this `ILcdShape`.
Specified by:
`getFocusPoint` in interface `ILcdShape`
Returns:
the focus point of this `ILcdShape`.
• #### getPoint

```public ILcdPoint getPoint(int aIndex)
throws ArrayIndexOutOfBoundsException```
Description copied from interface: `ILcdPointList`
Returns the `ILcdPoint` at a given index.
Specified by:
`getPoint` in interface `ILcdPointList`
Parameters:
`aIndex` - a valid index in the list of `ILcdPoint` objects.
Returns:
the `ILcdPoint` at the given index.
Throws:
`ArrayIndexOutOfBoundsException`
• #### getPointCount

`public int getPointCount()`
Description copied from interface: `ILcdPointList`
Returns the number of `ILcdPoint` objects in the list.
Specified by:
`getPointCount` in interface `ILcdPointList`
Returns:
the number of `ILcdPoint` objects in the list.
• #### getBounds

`public ILcdBounds getBounds()`
Description copied from interface: `ILcdBounded`
Returns the `ILcdBounds` by which the geometry of this `ILcdBounded` object is bounded.

If the geometry does not allow retrieving valid bounds (for example a polyline with 0 points) the return value is unspecified. It is highly recommended to return an `undefined` bounds. You can create undefined bounds using the default constructors of `TLcdLonLatBounds` or `TLcdXYBounds`.

Specified by:
`getBounds` in interface `ILcdBounded`
Returns:
the `ILcdBounds` by which the geometry of this `ILcdBounded` object is bounded.
• #### contains2D

```public boolean contains2D(double aX,
double aY)```
Description copied from interface: `ILcdShape`
Checks whether this `ILcdShape` contains the given point in the 2D space. Only the first two dimensions of the `ILcdShape` are considered.
Specified by:
`contains2D` in interface `ILcdShape`
Parameters:
`aX` - the x coordinate of the point.
`aY` - the y coordinate of the point.
Returns:
the boolean result of the containment test.
• #### translate2D

```public void translate2D(double aDeltaX,
Description copied from interface: `ILcd2DEditableShape`
Translates this `ILcd2DEditableShape` from its current position over the given translation vector in the 2D space. Only the first two dimensions of the `ILcdShape` are considered. The third dimension is left unchanged.
Specified by:
`translate2D` in interface `ILcd2DEditablePointList`
Specified by:
`translate2D` in interface `ILcd2DEditableShape`
Parameters:
`aDeltaX` - the x coordinate of the translation vector.
`aDeltaY` - the y coordinate of the translation vector.
• #### translate2DPoint

```public void translate2DPoint(int aIndex,
Description copied from interface: `ILcd2DEditablePointList`
Translates the specified point of this `ILcd2DEditablePointList` from its current position over the given translation vector in the 2D space. Only the first two dimensions of the points are considered. The third dimension is left unchanged.
Specified by:
`translate2DPoint` in interface `ILcd2DEditablePointList`
`aDeltaX` - the x coordinate of the translation vector.
`aDeltaY` - the y coordinate of the translation vector.
• #### move2DPoint

```public void move2DPoint(int aIndex,
double aX,
double aY)```
Description copied from interface: `ILcd2DEditablePointList`
Moves the specified point of this `ILcd2DEditablePointList` to the given point in the 2D space. Only the first two dimensions of the `ILcdShape` are considered. The third dimension is left unchanged.
Specified by:
`move2DPoint` in interface `ILcd2DEditablePointList`
Parameters:
`aIndex` - a valid index in the list of points.
`aX` - the x coordinate of the point.
`aY` - the y coordinate of the point.
• #### removePointAt

`public void removePointAt(int aIndex)`
Description copied from interface: `ILcd2DEditablePointList`
Removes the point at the given index from this `ILcd2DEditablePointList`.
Specified by:
`removePointAt` in interface `ILcd2DEditablePointList`
Parameters:
`aIndex` - a valid index in the list of `ILcdPoint` objects.
• #### insert2DPoint

```public void insert2DPoint(int aIndex,
double aX,
double aY)```
Description copied from interface: `ILcd2DEditablePointList`
Inserts a point at the given index into this `ILcd2DEditablePointList`.
Specified by:
`insert2DPoint` in interface `ILcd2DEditablePointList`
Parameters:
`aIndex` - a valid new index in the list of points.
`aX` - the x coordinate of the new point.
`aY` - the y coordinate of the new point.
• #### toString

`public String toString()`
Overrides:
`toString` in class `Object`
• #### equals

`public boolean equals(Object aObject)`
Returns whether the given object has the same class, the same focus point, and the same coordinates.
Overrides:
`equals` in class `ALcdShape`
• #### hashCode

`public int hashCode()`
Description copied from class: `ALcdShape`
The hash code of this shape is the hash code of its class, in order to be consistent with the `ALcdShape.equals(Object)` method. Extensions should refine this implementation, based on their properties.
Overrides:
`hashCode` in class `ALcdShape`
• #### clone

`public Object clone()`
Description copied from class: `ALcdShape`
Creates and returns a copy of this object, by delegating to `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.
Specified by:
`clone` in interface `ILcdCloneable`
Overrides:
`clone` in class `ALcdShape`
`Object.clone()`
• #### computePointSFCT

```public void computePointSFCT(double aParam,
ILcd3DEditablePoint aPointSFCT)```
Description copied from interface: `ILcdCurve`
Computes a point of the curve, defined by the given parameter.
Specified by:
`computePointSFCT` in interface `ILcdCurve`
Parameters:
`aParam` - a value of the closed interval [0,1]
`aPointSFCT` - the point to store the computed curve point in
• #### getEndPoint

`public ILcdPoint getEndPoint()`
Description copied from interface: `ILcdCurve`
Retrieves the end point of the curve.

This is equivalent to `computePointSFCT(1)`.

Specified by:
`getEndPoint` in interface `ILcdCurve`
Returns:
the end point of the curve
• #### getEndTangent2D

`public double getEndTangent2D()`
Description copied from interface: `ILcdCurve`
Returns the angle of the curve's tangent at the end point, in degrees counterclockwise from the direction at 3 o'clock.

The tangent orientation is from the end point, away from the curve before it.

This is the same as `getTangent2D(1)`.

Specified by:
`getEndTangent2D` in interface `ILcdCurve`
Returns:
the curve's angle in the end point
• #### getInterpolation

`public String getInterpolation()`
Description copied from interface: `ILcdCurve`
Returns the interpolation method used by this curve.

A set of predefined constants are defined in this interface, which are used by the default `ILcdCurve` implementations provided by LuciadLightspeed.

Custom implementations can define their own constants, and use them to interpret the interpolation of the curve.

Specified by:
`getInterpolation` in interface `ILcdCurve`
Returns:
the interpolation method used by this curve.
• #### getLength2D

```public double getLength2D(double aParam1,
double aParam2)```
Description copied from interface: `ILcdCurve`
Returns the length between two points of the curve, defined by the given parameters.
• When `aParam1 == aParam2`, the length is 0.
• When `aParam1 == 0 and aParam2 == 1`, the length is the whole length of the curve.
• When `aParam1 > aParam2`, the length is (`aParam1 to 1`) + (`0 to aParam2`).
Specified by:
`getLength2D` in interface `ILcdCurve`
Parameters:
`aParam1` - a value of the closed interval [0,1]
`aParam2` - a value of the closed interval [0,1]
Returns:
the length of the curve.
• #### getLineSegmentIntersectionCount

```public int getLineSegmentIntersectionCount(ILcdPoint aP1,
ILcdPoint aP2)```
Description copied from interface: `ILcdCurve`
Returns the number of intersections between this curve and a line segment defined by the two specified points.

This information can be used to perform containment calculations, if this curve is closed or if this curve is part of a composite closed curve. By determining the number of intersections between this curve and a line segment starting from a given point in a fixed direction, one can determine whether a point is located within the closed curve by using the even-odd rule.

Specified by:
`getLineSegmentIntersectionCount` in interface `ILcdCurve`
Parameters:
`aP1` - the first point of the line segment
`aP2` - the second point of the line segment
Returns:
the number of intersections between the curve and the line segment
• #### getStartPoint

`public ILcdPoint getStartPoint()`
Description copied from interface: `ILcdCurve`
Retrieves the start point of the curve.

This is equivalent to `computePointSFCT(0)`.

Specified by:
`getStartPoint` in interface `ILcdCurve`
Returns:
the start point of the curve
• #### getStartTangent2D

`public double getStartTangent2D()`
Description copied from interface: `ILcdCurve`
Returns the angle of the curve's tangent at the start point, in degrees counterclockwise from the direction at 3 o'clock.

The tangent orientation is from the start point towards the rest of the shape.

This is the same as `getTangent2D(0)`.

Specified by:
`getStartTangent2D` in interface `ILcdCurve`
Returns:
the curve's angle in the start point
• #### getTangent2D

`public double getTangent2D(double aParam)`
Description copied from interface: `ILcdCurve`
Returns the angle of the curve's tangent in the point defined by the given parameter, in degrees counterclockwise from the direction at 3 o'clock.

The tangent orientation is from the point at parameter `aParam` towards the rest of the shape.

Specified by:
`getTangent2D` in interface `ILcdCurve`
Parameters:
`aParam` - a value of the closed interval [0,1]
Returns:
the curve's angle in the point defined by the given parameter