Click or drag to resize
IPolarPlotter Interface
The interface for objects that can track the values required for a polar plot.

Namespace: VirtualRadar.Interface.Listener
Assembly: VirtualRadar.Interface (in VirtualRadar.Interface.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
public interface IPolarPlotter : IDisposable

The IPolarPlotter type exposes the following members.

Properties
  NameDescription
Public propertyLatitude
Gets the latitude from which distances will be calculated.
Public propertyLongitude
Gets the longitude from which distances will be calculated.
Public propertyRoundToDegrees
Gets the number of degrees that bearings are rounded to.
Top
Methods
  NameDescription
Public methodAddCheckedCoordinate
Adds a coordinate to all applicable slices. The coordinate is guaranteed to have been considered ProbablyRight by an instance of IAircraftSanityChecker.
Public methodAddCoordinate
Adds a coordinate to all applicable slices. The coordinate will be checked by an instance of IAircraftSanityChecker.
Public methodClearPolarPlots
Removes all existing polar plots.
Public methodDispose
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from IDisposable.)
Public methodInitialise(Double, Double)
Initialises the plotter with a standard set of slices and bearing rounding.
Public methodInitialise(Double, Double, Int32, Int32, Int32, Int32)
Initialises the plotter with custom slice dimensions.
Public methodLoadFrom
Overwrites the RoundToDegrees and slices with the values from the saved polar plot passed across.
Public methodTakeSnapshot
Returns a copy of all of the slices as-at the current point in time.
Top
Remarks

Polar plots are recorded over a series of slices, where each slice is a range of altitudes between two values in feet. The Initialise call tells the plotter the dimensions of the slices and the location to measure distances and angles from.

The plotter calculates the distance and bearing to the aircraft and then rounds the bearing to the nearest X degrees. If X is 1 then you will get 360 bearings stored for each slice, if X is 5 then you will get (360 / 5) 72 points stored for each slice. Once the rounded bearing has been calculated the plotter looks to see whether the distance it's calculated is further out than the one that already exists for the bearing - if it is then that distance and point is recorded, otherwise it is discarded.

All altitudes and positions are passed through an implementation of a IAircraftSanityChecker and only those values that are confirmed as ProbablyRight are used for the plot.

Implementations must be thread safe.

See Also