using HeuristicLab.Common; using HeuristicLab.Core; using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; namespace HeuristicLab.EvolutionaryTracking { /// /// An arc that can have a weight, a label, and can old additional information in the Data object /// [StorableClass] public class Arc : Item, IArc { [Storable] private IVertex source; public IVertex Source { get { return source; } set { source = value; } } [Storable] private IVertex target; public IVertex Target { get { return target; } set { target = value; } } [Storable] private string label; public string Label { get { return label; } set { label = value; } } [Storable] private double weight; public double Weight { get { return weight; } set { weight = value; } } [Storable] private object data; public object Data { get { return data; } set { data = value; } } [StorableConstructor] public Arc(bool deserializing) : base(deserializing) { } public override IDeepCloneable Clone(Cloner cloner) { return new Arc(this, cloner); } public Arc() { } protected Arc(Arc original, Cloner cloner) : base(original, cloner) { Source = original.Source; Target = original.Target; Label = original.Label; Weight = original.Weight; Data = original.Data; } } }