// -----------------------------------------------------------------------
//
// TODO: Update copyright text.
//
// -----------------------------------------------------------------------
namespace OpenTraffic.Model.Route
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
///
/// TODO: Update summary.
///
// should not use this one.
[Serializable]
public class RouteDescription
{
private int[] Links;
private int Target;
private int Source;
private int Id;
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0")]
public RouteDescription(RouteContainer r)
{
Target = r.Target.Id;
Source = r.Source.Id;
Id = r.Id;
Links = new int[r.Links.Length];
for (int i = 0; i < r.Links.Length; i++)
{
Links[i] = r.Links[i].Id;
}
}
public RouteContainer GetRoute(Dictionary lookup)
{
if (lookup != null)
{
TrafficModelLink[] arr = new TrafficModelLink[Links.Length];
for (int i = 0; i < Links.Length; i++)
{
arr[i] = lookup[Links[i]];
}
return new RouteContainer(Id, lookup[Source], lookup[Target], arr);
}
return null;
}
}
}