public TransportPositioner CreatePositioner(TransportPositionerOptions options)
        {
            var optionsInterop = options.ToInterop();

            var transportPositionerId = NativeTransportApi_CreatePositioner(NativePluginRunner.API, ref optionsInterop);

            var transportPositioner = new TransportPositioner(
                this,
                transportPositionerId,
                options
                );

            m_positionerIdToObject.Add(transportPositionerId, transportPositioner);

            NotifyTransportPositionerPointOnGraphChanged(transportPositionerId);

            return(transportPositioner);
        }
        public TransportPositionerPointOnGraph GetPositionerPointOnGraph(TransportPositioner transportPositioner)
        {
            var result = NativeTransportApi_GetPositionerPointOnGraph(NativePluginRunner.API, transportPositioner.Id);

            return(result.FromInterop());
        }
 public bool IsPositionerMatched(TransportPositioner transportPositioner)
 {
     ValidateExists(transportPositioner.Id);
     return(NativeTransportApi_IsPositionerMatched(NativePluginRunner.API, transportPositioner.Id));
 }
 public void ClearPositionerInputHeading(TransportPositioner transportPositioner)
 {
     ValidateExists(transportPositioner.Id);
     NativeTransportApi_ClearPositionerInputHeading(NativePluginRunner.API, transportPositioner.Id);
 }
 public void SetPositionerInputHeading(TransportPositioner transportPositioner, double headingDegrees)
 {
     ValidateExists(transportPositioner.Id);
     NativeTransportApi_SetPositionerInputHeading(NativePluginRunner.API, transportPositioner.Id, headingDegrees);
 }
 public void SetPositionerInputCoordinates(TransportPositioner transportPositioner, double latitudeDegrees, double longitudeDegrees)
 {
     ValidateExists(transportPositioner.Id);
     NativeTransportApi_SetPositionerInputCoordinates(NativePluginRunner.API, transportPositioner.Id, latitudeDegrees, longitudeDegrees);
 }
 public void DestroyPositioner(TransportPositioner transportPositioner)
 {
     ValidateExists(transportPositioner.Id);
     m_positionerIdToObject.Remove(transportPositioner.Id);
     NativeTransportApi_DestroyPositioner(NativePluginRunner.API, transportPositioner.Id);
 }