Interface ILcdGeoBuffer

All Superinterfaces:
Cloneable, ILcdBounded, ILcdCloneable, ILcdShape, Serializable
All Known Subinterfaces:
ILcd2DEditableGeoBuffer, ILcdAirspaceCorridor, ILcdEditableAirspaceCorridor
All Known Implementing Classes:
TLcdAirspaceCorridor, TLcdFeaturedAirspaceCorridor, TLcdLonLatGeoBuffer, TLcdNVG15Arrow, TLcdNVG15Corridor, TLcdNVG20Arrow, TLcdNVG20Corridor, TLcdNVG20Orbit, TLcdXYGeoBuffer

public interface ILcdGeoBuffer extends ILcdShape
An ILcdGeoBuffer shape defines a buffer or corridor around a given shape, adding a fixed width to the shape.

The contour of the buffer is a polygon in which each exterior point lies at a fixed distance (the width) from the line segments of the base shape.
This requirement does not explicitly hold for the contour at the endings of the base shape (if it is not closed), which should comply to the end cap style setting returned by getEndCapStyle(). At the joins between two line segments of the base shape, the contour should comply to the join style returned by getJoinStyle().

Geo Buffer
Example of a geo buffer

This image shows how the 2D contour of the geo buffer is defined. Each line segment with the applied getWidth() width} defines a rectangle. These rectangles are then connected with each other by calculating the intersections between their edges. In the example we used getEndCapStyle() of CAP_ROUND and getJoinStyle() of JOIN_ROUND

To calculate the contour, the utility method TLcdEllipsoidUtil.computeBufferContour2D can be used for an ellipsoidal context and TLcdCartesian.computeBufferContour2D for a cartesian context.

In the simplest form, the contour is represented by a single polygon. In cases where the buffer intersects with itself, holes are formed and multiple polygons are used to define the contour.

In future versions, the predefined end cap and join styles may be extended.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Specifies a butt (or flat) end cap style.
    static final int
    Specifies a round end cap style.
    static final int
    Specifies a round join.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the base shape of the buffer.
    int
    Returns the end cap style of this buffer, which defines the representation of the contour at the endings of the base shape.
    int
    Returns the join style for the contour of this buffer, which defines the representation of the contour at the joins between two line segments of the base shape.
    double
    Returns the width of this buffer, expressed in meters and measured from the line segments of the base shape to the contour.

    Methods inherited from interface com.luciad.shape.ILcdBounded

    getBounds

    Methods inherited from interface com.luciad.util.ILcdCloneable

    clone

    Methods inherited from interface com.luciad.shape.ILcdShape

    contains2D, contains2D, contains3D, contains3D, getFocusPoint
  • Field Details

  • Method Details

    • getWidth

      double getWidth()
      Returns the width of this buffer, expressed in meters and measured from the line segments of the base shape to the contour. The width is positive (width >= 0).
      Returns:
      the width of the buffer.
    • getJoinStyle

      int getJoinStyle()
      Returns the join style for the contour of this buffer, which defines the representation of the contour at the joins between two line segments of the base shape. This is always JOIN_ROUND.
      Returns:
      the join style of the buffer.
    • getEndCapStyle

      int getEndCapStyle()
      Returns the end cap style of this buffer, which defines the representation of the contour at the endings of the base shape. This is one of CAP_ROUND or CAP_BUTT.
      Returns:
      the end cap style of the buffer.
    • getBaseShape

      ILcdShape getBaseShape()
      Returns the base shape of the buffer.
      Returns:
      the base shape of the buffer.