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. More...
 
bool ContainsPoint (FsLatLonPoint Point)
 Calculates if the given point is inside this polygon More...
 
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 More...
 
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 More...
 
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 More...
 
FsLineSegmentIntersection [] GetInstersection (FsLatLonLineSegment Line)
 Finds the points where the given line segment intersects this polygon More...
 

Properties

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

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

Property Documentation

◆ Bounds

The rectangular bounding box for this polygon. All points of the polygon are contained within this rectangle.

◆ LineSegments

FsLatLonLineSegment [] LineSegments
get

An array of line segments that make up this polygon.

◆ Points

FsLatLonPoint [] Points
get

An array of Lat/Lon points that define this polygon