private bool TryFetchDirectedEdge(TransportDirectedEdgeIdInterop directedEdgeIdInterop, out TransportDirectedEdge directedEdge)
        {
            var directedEdgeInterop = new TransportDirectedEdgeInterop()
            {
                Id = directedEdgeIdInterop
            };

            bool success = NativeTransportApi_TryGetDirectedEdge(NativePluginRunner.API, ref directedEdgeInterop);

            if (!success)
            {
                directedEdge = TransportDirectedEdge.MakeEmpty();
                return(false);
            }

            directedEdge = new TransportDirectedEdge(
                directedEdgeInterop.Id.FromInterop(),
                directedEdgeInterop.NodeIdA.FromInterop(),
                directedEdgeInterop.NodeIdB.FromInterop(),
                directedEdgeInterop.WayId.FromInterop(),
                directedEdgeInterop.IsWayReversed
                );
            return(true);
        }
 /// <summary>
 /// The TransportDirectedEdge value associated with the given TransportDirectedEdgeId key.
 /// </summary>
 /// <param name="directedEdgeId">The id of the TransportDirectedEdge to get.</param>
 /// <param name="directedEdge">On return, contains the value associated with directedEdgeId if found; else
 /// an empty value as returned by DirectedEdge.MakeEmpty().</param>
 /// <returns>True if a TransportDirectedEdge object with Id equal to directedEdgeId was found, else false.</returns>
 public bool TryGetDirectedEdge(TransportDirectedEdgeId directedEdgeId, out TransportDirectedEdge directedEdge)
 {
     return(m_apiInternal.TryGetDirectedEdge(directedEdgeId, out directedEdge));
 }
 public bool TryGetDirectedEdge(TransportDirectedEdgeId directedEdgeId, out TransportDirectedEdge directedEdge)
 {
     return(TryFetchDirectedEdge(directedEdgeId.ToInterop(), out directedEdge));
 }