Changeset 11253 for branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking/3.4/GenealogyGraph/GenealogyGraphNode.cs
- Timestamp:
- 07/31/14 17:11:39 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking/3.4/GenealogyGraph/GenealogyGraphNode.cs
r11233 r11253 33 33 [StorableConstructor] 34 34 protected GenealogyGraphNode(bool deserializing) : base(deserializing) { } 35 35 36 public override IDeepCloneable Clone(Cloner cloner) { 36 37 return new GenealogyGraphNode(this, cloner); 37 38 } 39 40 // this constructor emulates the behavior of a copy constructor 41 // it returns a shallow copy in which the arcs are not cloned 42 protected GenealogyGraphNode(IGenealogyGraphNode original) 43 : base((IDeepCloneable)original.Data.Clone()) { 44 Quality = original.Quality; 45 Rank = original.Rank; 46 IsElite = original.IsElite; 47 Id = Guid.NewGuid().ToString(); 48 } 49 38 50 protected GenealogyGraphNode(GenealogyGraphNode original, Cloner cloner) 39 51 : base(original, cloner) { 52 Quality = original.Quality; 53 Rank = original.Rank; 54 IsElite = original.IsElite; 55 Id = Guid.NewGuid().ToString(); 40 56 } 41 57 42 public GenealogyGraphNode( object content)43 : base( content) {58 public GenealogyGraphNode(IDeepCloneable data) 59 : base(data) { 44 60 Id = Guid.NewGuid().ToString(); 45 61 } … … 48 64 get { return base.InArcs.Cast<IGenealogyGraphArc>(); } 49 65 } 66 50 67 public new IEnumerable<IGenealogyGraphArc> OutArcs { 51 68 get { return base.OutArcs.Cast<IGenealogyGraphArc>(); } 52 69 } 70 53 71 public IEnumerable<IGenealogyGraphNode> Ancestors { 54 72 get { … … 123 141 [Item("GenealogyGraphNode", "A genealogy graph node which also has a Content")] 124 142 public class GenealogyGraphNode<T> : GenealogyGraphNode, IGenealogyGraphNode<T> where T : class, IItem { 125 public new T Content{126 get { return (T)base. Content; }127 set { base. Content= value; }143 public new T Data { 144 get { return (T)base.Data; } 145 set { base.Data = value; } 128 146 } 129 147 130 public GenealogyGraphNode(object content) : base(content) { } 148 public GenealogyGraphNode(IGenealogyGraphNode<T> original) : base(original) { } 149 150 public GenealogyGraphNode(IDeepCloneable content) : base(content) { } 131 151 132 152 protected GenealogyGraphNode(GenealogyGraphNode<T> original, Cloner cloner) 133 153 : base(original, cloner) { 134 // we do not clone the content135 Content = original.Content;136 154 } 137 155 public override IDeepCloneable Clone(Cloner cloner) {
Note: See TracChangeset
for help on using the changeset viewer.