FSUIPC Client DLL
.NET interface for FSUIPC
FsLatLonPolygon Class Reference

This defines a closed polygon defined by a series of Lat/Lon points (vertices). There can be any number of points. Unlike FsLatLonQuadrilateral this class supports concave shapes and complex shapes (having self-instersecting sides). More...

Public Member Functions

 FsLatLonPolygon (FsLatLonPoint[] Points)
 Creates a polygon from an array of lat/lon points (vertices). The points can start anywhere on the polygon but must be contiguous. They can specified either clockwise or counter-clockwise. The polygon will be closed so the last point will connect with the first.
 
bool ContainsPoint (FsLatLonPoint Point)
 Calculates if the given point is inside this polygon.
 
FsPolygonIntersection GetIntersectionFromPointFeet (FsLatLonPoint Point, double HeadingTrue, double RangeFeet)
 Calculates an intersection point on the polygon given a starting point, a heading and a maximum search range.
 
FsPolygonIntersection GetIntersectionFromPointNauticalMiles (FsLatLonPoint Point, double HeadingTrue, double RangeNauticalMiles)
 Calculates an intersection point on the polygon given a starting point, a heading and a maximum search range.
 
FsPolygonIntersection GetIntersectionFromPointMetres (FsLatLonPoint Point, double HeadingTrue, double RangeMetres)
 Calculates an intersection point on the polygon given a starting point, a heading and a maximum search range.
 
FsLineSegmentIntersection[] GetInstersection (FsLatLonLineSegment Line)
 Finds the points where the given line segment intersects this polygon.
 

Properties

FsLatLonQuadrilateral Bounds [get]
 The rectangular bounding box for this polygon. All points of the polygon are contained within this rectangle.
 
FsLatLonPoint[] Points [get]
 An array of Lat/Lon points that define this polygon.
 
FsLatLonLineSegment[] LineSegments [get]
 An array of line segments that make up this polygon.
 

Detailed Description

This defines a closed polygon defined by a series of Lat/Lon points (vertices). There can be any number of points. Unlike FsLatLonQuadrilateral this class supports concave shapes and complex shapes (having self-instersecting sides).

Constructor & Destructor Documentation

◆ FsLatLonPolygon()

FsLatLonPolygon ( FsLatLonPoint[] Points)
inline

Creates a polygon from an array of lat/lon points (vertices). The points can start anywhere on the polygon but must be contiguous. They can specified either clockwise or counter-clockwise. The polygon will be closed so the last point will connect with the first.

Parameters
Points

Member Function Documentation

◆ ContainsPoint()

bool ContainsPoint ( FsLatLonPoint Point)
inline

Calculates if the given point is inside this polygon.

Parameters
PointThe point to test
Returns
True if the given point is inside this polygon. False if it's outside.

◆ GetInstersection()

FsLineSegmentIntersection[] GetInstersection ( FsLatLonLineSegment Line)
inline

Finds the points where the given line segment intersects this polygon.

Parameters
LineThe line segment to test for an intersection
Returns
An array of FsLineSegmentIntersection[] object. One for each intersection of the given line segment with the outline of the polygon. If there is no intersections an empty array (length = 0) is returned

◆ GetIntersectionFromPointFeet()

FsPolygonIntersection GetIntersectionFromPointFeet ( FsLatLonPoint Point,
double HeadingTrue,
double RangeFeet )
inline

Calculates an intersection point on the polygon given a starting point, a heading and a maximum search range.

Parameters
PointThe starting point
HeadingTrueThe heading in degrees TRUE along which to search for the intersection
RangeFeetThe maximum range infeet to search for the intersection
Returns
An FsPolygonIntersection object containing the details of the intersection test

◆ GetIntersectionFromPointMetres()

FsPolygonIntersection GetIntersectionFromPointMetres ( FsLatLonPoint Point,
double HeadingTrue,
double RangeMetres )
inline

Calculates an intersection point on the polygon given a starting point, a heading and a maximum search range.

Parameters
PointThe starting point
HeadingTrueThe heading in degrees TRUE along which to search for the intersection
RangeMetresThe maximum range in metres to search for the intersection
Returns
An FsPolygonIntersection object containing the details of the intersection test

◆ GetIntersectionFromPointNauticalMiles()

FsPolygonIntersection GetIntersectionFromPointNauticalMiles ( FsLatLonPoint Point,
double HeadingTrue,
double RangeNauticalMiles )
inline

Calculates an intersection point on the polygon given a starting point, a heading and a maximum search range.

Parameters
PointThe starting point
HeadingTrueThe heading in degrees TRUE along which to search for the intersection
RangeNauticalMilesThe maximum range in nautical miles to search for the intersection
Returns
An FsPolygonIntersection object containing the details of the intersection test