Package com.luciad.ais.geodesy
Class TLcdEllipsoidIntersectionUtil
java.lang.Object
com.luciad.ais.geodesy.TLcdEllipsoidIntersectionUtil
Utility class to calculate intersection points on the ellipsoid earth surface.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondouble
getClosestPointOnArcSegment
(ILcdEllipsoid aEllipsoid, ILcdPoint aP1, double aAzimuth, ILcdPoint aCenter, double aRadius, double aStartAngle, double aArcAngle, ILcd2DEditablePoint aResultSFCT) Returns the forward azimuth direction of the shortest distance path between a point and an elliptical arc segment.int
intersection2DGeodesicLineWithArcSegment
(ILcdPoint aP1, ILcdPoint aP2, ILcdArc aArc, ILcdEllipsoid aEllipsoid, double aRelativeTolerance, double aAbsoluteTolerance, ILcd2DEditablePoint aResultSFCT1, ILcd2DEditablePoint aResultSFCT2) Returns the number of intersection points between an elliptical arc and a geodesic line defined by its start point and a direction.final int
intersection2DGeodesicLineWithArcSegment
(ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdEllipsoid aEllipsoid, double aRelativeTolerance, double aAbsoluteTolerance, ILcd2DEditablePoint aResultSFCT1, ILcd2DEditablePoint aResultSFCT2) Returns the number of intersection points between an elliptical arc and a geodesic line defined by its start point and a direction.
-
Constructor Details
-
TLcdEllipsoidIntersectionUtil
public TLcdEllipsoidIntersectionUtil()
-
-
Method Details
-
intersection2DGeodesicLineWithArcSegment
public int intersection2DGeodesicLineWithArcSegment(ILcdPoint aP1, ILcdPoint aP2, ILcdArc aArc, ILcdEllipsoid aEllipsoid, double aRelativeTolerance, double aAbsoluteTolerance, ILcd2DEditablePoint aResultSFCT1, ILcd2DEditablePoint aResultSFCT2) Returns the number of intersection points between an elliptical arc and a geodesic line defined by its start point and a direction.- Parameters:
aP1
- start point of the geodesic line.aP2
- end point of the geodesic line.aArc
- arc segment to find the intersection with.aEllipsoid
- the ellipsoid to work on.aRelativeTolerance
- a relative tolerance (with relation to distance between aP1-aP2).aAbsoluteTolerance
- a absolute tolerance.aResultSFCT1
- first intersection point as side effect.aResultSFCT2
- second intersection point as side effect.- Returns:
- the number of intersection points. If 0 there are none and the side effect parameters should not be used. If 1 the first side effect parameters contains the intersection point. If 2 both side effect parameters contain intersection points.
-
intersection2DGeodesicLineWithArcSegment
public final int intersection2DGeodesicLineWithArcSegment(ILcdPoint aP1, ILcdPoint aP2, ILcdPoint aCenter, double aA, double aB, double aRotAngle, double aStartAngle, double aArcAngle, ILcdEllipsoid aEllipsoid, double aRelativeTolerance, double aAbsoluteTolerance, ILcd2DEditablePoint aResultSFCT1, ILcd2DEditablePoint aResultSFCT2) Returns the number of intersection points between an elliptical arc and a geodesic line defined by its start point and a direction.- Parameters:
aP1
- start point of the geodesic line.aP2
- end point of the geodesic line.aCenter
- center point of the elliptical arc segment.aA
- semi-major axis (expressed in meters).aB
- semi-minor axis (expressed in meters).aRotAngle
- the rotation angle of the major axis (in degrees). The angle is measured from 3 o'clock position, positive counter-clockwise.aStartAngle
- the start angle of the arc (in degrees). The angle is measured from 3 o'clock position, positive counter-clockwise.aArcAngle
- the angle over which the arc extends (in degrees). The angle is positive counter-clockwise.aEllipsoid
- the ellipsoid to work on.aRelativeTolerance
- a relative tolerance (relative to distance between aP1-aP2).aAbsoluteTolerance
- a absolute tolerance.aResultSFCT1
- first intersection point as side effect.aResultSFCT2
- second intersection point as side effect.- Returns:
- the number of intersection points. If 0 there are none and the side effect parameters should not be used. If 1 the first side effect parameters contains the intersection point. If 2 both side effect parameters contain intersection points.
-
getClosestPointOnArcSegment
public double getClosestPointOnArcSegment(ILcdEllipsoid aEllipsoid, ILcdPoint aP1, double aAzimuth, ILcdPoint aCenter, double aRadius, double aStartAngle, double aArcAngle, ILcd2DEditablePoint aResultSFCT) Returns the forward azimuth direction of the shortest distance path between a point and an elliptical arc segment.- Parameters:
aEllipsoid
- the ellipsoid to work on.aP1
- the point from which the distance must be calculated.aAzimuth
- the initial azimuth to be used for finding the shortest distance path.aCenter
- the center point of the elliptical arc segment.aRadius
- the radius of the arc.aStartAngle
- the start angle of the arc (in degrees). The angle is measured from 3 o'clock position, positive counter-clockwise.aArcAngle
- the angle over which the arc extends (in degrees). The angle is positive counter-clockwise.aResultSFCT
- the closest point on the elliptical arc segment as side effect.- Returns:
- the forward azimuth direction of the shortest distance path between a point and an elliptical arc segment.
-