Class TLcdShapeUtil

java.lang.Object
com.luciad.shape.TLcdShapeUtil

public final class TLcdShapeUtil extends Object
This class provides convenience methods for ILcdShape operations.
Since:
2021.0.04
  • Method Details

    • round

      public static TLcdRoundedPolyline round(ILcdModelReference aModelReference, ILcdPolyline aPolyline, double aRoundnessFactor)

      Use this method to create a rounded version of a ILcdPolyline.

      This method creates a TLcdRoundedPolyline using the points contained in the given ILcdPolyline as control points.

      Parameters:
      aModelReference - The coordinate reference of the points in the given ILcdPolyline. This ILcdModelReference must not be null. The rounding expects a geodetic polyline for geodetic references, and a linear polyline for other references.
      aPolyline - The ILcdPolyline whose points will be used as control points when creating the resulting TLcdRoundedPolyline. Modifying the ILcdPolyline will modify TLcdRoundedPolyline after calling TLcdRoundedPolyline.invalidateObject(). This ILcdPolyline must not be null.
      aRoundnessFactor - A number in the range [0.0, 1.0] indicating the roundness of the resulting curve.
      A value of 0.0 indicates no roundness, in which case the resulting curve will use straight lines (i.e. it will look identical to the given aPolyline).
      A value of 1.0 indicates maximum roundness.
      Returns:
      A TLcdRoundedPolyline that is a rounded version of the given ILcdPolyline.
      See Also:
    • round

      public static TLcdRoundedPolygon round(ILcdModelReference aModelReference, ILcdPolygon aPolygon, double aRoundnessFactor)

      Use this method to create a rounded version of a ILcdPolygon.

      This method creates a TLcdRoundedPolygon using the points contained in the given ILcdPolygon as control points.

      Parameters:
      aModelReference - The coordinate reference of the points in the given ILcdPolygon. This ILcdModelReference must not be null. The rounding expects a geodetic polyline for geodetic references, and a linear polyline for other references.
      aPolygon - The ILcdPolygon whose points will be used as control points when creating the resulting TLcdRoundedPolygon. Modifying the ILcdPolygon will modify the TLcdRoundedPolyline after calling TLcdRoundedPolygon.invalidateObject(). This ILcdPolygon must not be null.
      aRoundnessFactor - A number in the range [0.0, 1.0] indicating the roundness of the resulting curve.
      A value of 0.0 indicates no roundness, in which case the resulting curve will use straight lines (i.e. it will look identical to the given aPolygon).
      A value of 1.0 indicates maximum roundness.
      Returns:
      A TLcdRoundedPolygon that is a rounded version of the given ILcdPolygon.
      See Also:
    • isSelfIntersectingEllipsoidal

      public static boolean isSelfIntersectingEllipsoidal(ILcdPointList aPointList, ILcdEllipsoid aEllipsoid)

      Use this method to check if a ILcdPointList has self-intersecting edges connecting its points.

      Parameters:
      aPointList - The pointlist containing the points to check
      aEllipsoid - The ellipsoid on which to compute the calculations
      Returns:
      true if two of the implicit edges intersect, and therefore if the shape is self-intersecting
      Since:
      2024.1
    • isSelfIntersectingEllipsoidal

      public static boolean isSelfIntersectingEllipsoidal(ILcdShapeList aShapeList, ILcdEllipsoid aEllipsoid)

      Use this method to check if a ILcdShapeList has self-intersecting ILcdPointList.

      Parameters:
      aShapeList - The shape list containing one or many ILcdPointList
      aEllipsoid - The ellipsoid on which to compute the calculations
      Returns:
      true if one of the ILcdPointLists is self-intersecting
      Since:
      2024.1
    • isSelfIntersectingCartesian

      public static boolean isSelfIntersectingCartesian(ILcdPointList aPointList)

      Use this method to check if a ILcdPointList has intersecting edges connecting its points.

      Parameters:
      aPointList - The pointlist containing the points to check
      Returns:
      true if two of the implicit edges intersect, and therefore if the shape is self-intersecting
      Since:
      2024.1
    • isSelfIntersectingCartesian

      public static boolean isSelfIntersectingCartesian(ILcdShapeList aShapeList)

      Use this method to check if a ILcdShapeList has self-intersecting ILcdPointList.

      Parameters:
      aShapeList - The shape list containing one or many ILcdPointList
      Returns:
      true if one of the ILcdPointLists is self-intersecting
      Since:
      2024.1