Package com.luciad.shape
Class TLcdShapeUtil
java.lang.Object
com.luciad.shape.TLcdShapeUtil
This class provides convenience methods for
ILcdShape operations.- Since:
- 2021.0.04
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisSelfIntersectingCartesian(ILcdPointList aPointList) Use this method to check if aILcdPointListhas intersecting edges connecting its points.static booleanisSelfIntersectingCartesian(ILcdShapeList aShapeList) Use this method to check if aILcdShapeListhas self-intersectingILcdPointList.static booleanisSelfIntersectingEllipsoidal(ILcdPointList aPointList, ILcdEllipsoid aEllipsoid) Use this method to check if aILcdPointListhas self-intersecting edges connecting its points.static booleanisSelfIntersectingEllipsoidal(ILcdShapeList aShapeList, ILcdEllipsoid aEllipsoid) Use this method to check if aILcdShapeListhas self-intersectingILcdPointList.static TLcdRoundedPolygonround(ILcdModelReference aModelReference, ILcdPolygon aPolygon, double aRoundnessFactor) Use this method to create a rounded version of aILcdPolygon.static TLcdRoundedPolylineround(ILcdModelReference aModelReference, ILcdPolyline aPolyline, double aRoundnessFactor) Use this method to create a rounded version of aILcdPolyline.
-
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
TLcdRoundedPolylineusing the points contained in the givenILcdPolylineas control points.- Parameters:
aModelReference- The coordinate reference of thepointsin the givenILcdPolyline. ThisILcdModelReferencemust not benull. The rounding expects a geodetic polyline for geodetic references, and a linear polyline for other references.aPolyline- TheILcdPolylinewhose points will be used as control points when creating the resultingTLcdRoundedPolyline. Modifying theILcdPolylinewill modifyTLcdRoundedPolylineafter callingTLcdRoundedPolyline.invalidateObject(). ThisILcdPolylinemust not benull.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 givenaPolyline).
A value of 1.0 indicates maximum roundness.- Returns:
- A
TLcdRoundedPolylinethat is a rounded version of the givenILcdPolyline. - 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
TLcdRoundedPolygonusing the points contained in the givenILcdPolygonas control points.- Parameters:
aModelReference- The coordinate reference of thepointsin the givenILcdPolygon. ThisILcdModelReferencemust not benull. The rounding expects a geodetic polyline for geodetic references, and a linear polyline for other references.aPolygon- TheILcdPolygonwhose points will be used as control points when creating the resultingTLcdRoundedPolygon. Modifying theILcdPolygonwill modify theTLcdRoundedPolylineafter callingTLcdRoundedPolygon.invalidateObject(). ThisILcdPolygonmust not benull.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 givenaPolygon).
A value of 1.0 indicates maximum roundness.- Returns:
- A
TLcdRoundedPolygonthat is a rounded version of the givenILcdPolygon. - See Also:
-
isSelfIntersectingEllipsoidal
public static boolean isSelfIntersectingEllipsoidal(ILcdPointList aPointList, ILcdEllipsoid aEllipsoid) Use this method to check if a
ILcdPointListhas self-intersecting edges connecting its points.- Parameters:
aPointList- The pointlist containing the points to checkaEllipsoid- 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
ILcdShapeListhas self-intersectingILcdPointList.- Parameters:
aShapeList- The shape list containing one or manyILcdPointListaEllipsoid- The ellipsoid on which to compute the calculations- Returns:
- true if one of the
ILcdPointLists is self-intersecting - Since:
- 2024.1
-
isSelfIntersectingCartesian
Use this method to check if a
ILcdPointListhas 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
Use this method to check if a
ILcdShapeListhas self-intersectingILcdPointList.- Parameters:
aShapeList- The shape list containing one or manyILcdPointList- Returns:
- true if one of the
ILcdPointLists is self-intersecting - Since:
- 2024.1
-