- Timestamp:
- 01/22/10 16:06:48 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.GP.StructureIdentification.Networks/3.2/Symbols/OpenParameterFunctionTree.cs
r2616 r2674 30 30 public string VariableName { get; set; } 31 31 public int SampleOffset { get; set; } 32 public double Weight { get; set; } 32 33 33 34 public OpenParameterFunctionTree(OpenParameter openParameter) 34 35 : base(openParameter) { 36 this.Weight = 1.0; 35 37 } 36 38 … … 39 41 VariableName = original.VariableName; 40 42 SampleOffset = original.SampleOffset; 43 Weight = original.Weight; 41 44 } 42 45 … … 51 54 scope.AddSubScope(myVariableScope); 52 55 myVariableScope.AddVariable(CreateSampleOffsetVariable()); 56 myVariableScope.AddVariable(CreateWeightVariable()); 53 57 return new AtomicOperation(Function.Manipulator, myVariableScope); 54 58 } … … 58 62 scope.AddSubScope(myVariableScope); 59 63 myVariableScope.AddVariable(CreateSampleOffsetVariable()); 64 myVariableScope.AddVariable(CreateWeightVariable()); 60 65 return new AtomicOperation(Function.Initializer, myVariableScope); 61 66 } … … 72 77 public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<System.Guid, IStorable> persistedObjects) { 73 78 XmlNode node = document.CreateElement(name); 79 XmlAttribute weightAttr = document.CreateAttribute("Weight"); 80 weightAttr.Value = XmlConvert.ToString(Weight); 74 81 XmlAttribute variableAttr = document.CreateAttribute("Variable"); 75 82 variableAttr.Value = VariableName; 76 83 XmlAttribute sampleOffsetAttr = document.CreateAttribute("SampleOffset"); 77 84 sampleOffsetAttr.Value = XmlConvert.ToString(SampleOffset); 85 node.Attributes.Append(weightAttr); 78 86 node.Attributes.Append(sampleOffsetAttr); 79 87 node.Attributes.Append(variableAttr); … … 83 91 public override void Populate(XmlNode node, IDictionary<System.Guid, IStorable> restoredObjects) { 84 92 base.Populate(node, restoredObjects); 93 Weight = XmlConvert.ToDouble(node.Attributes["Weight"].Value); 85 94 SampleOffset = XmlConvert.ToInt32(node.Attributes["SampleOffset"].Value); 86 95 VariableName = node.Attributes["Variable"].Value; … … 103 112 return variable; 104 113 } 114 115 private IVariable CreateWeightVariable() { 116 DoubleData data = new DoubleData(Weight); 117 data.Changed += (sender, args) => Weight = data.Data; 118 var variable = new HeuristicLab.Core.Variable(Variable.WEIGHT, data); 119 variable.ValueChanged += (sender, args) => Weight = ((DoubleData)variable.Value).Data; 120 return variable; 121 } 105 122 } 106 123 }
Note: See TracChangeset
for help on using the changeset viewer.