- Timestamp:
- 11/06/10 01:56:04 (13 years ago)
- Location:
- trunk/sources
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources
- Property svn:mergeinfo changed
/branches/CloningRefactoring (added) merged: 4656-4693,4696-4697,4711-4714,4718-4719
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Problems.VehicleRouting
- Property svn:mergeinfo changed
/branches/CloningRefactoring/HeuristicLab.Problems.VehicleRouting (added) merged: 4686-4687,4689-4693,4696-4697
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/VRPSolution.cs
r4185 r4722 195 195 public VRPSolution() : base() { } 196 196 197 public VRPSolution(DoubleMatrix coordinates): base() { 197 public VRPSolution(DoubleMatrix coordinates) 198 : base() { 198 199 this.coordinates = coordinates; 199 200 } 200 201 201 public VRPSolution(DoubleMatrix coordinates, IVRPEncoding solution, DoubleValue quality, 202 DoubleValue distance, DoubleValue overload, DoubleValue tardiness, DoubleValue travelTime, 202 public VRPSolution(DoubleMatrix coordinates, IVRPEncoding solution, DoubleValue quality, 203 DoubleValue distance, DoubleValue overload, DoubleValue tardiness, DoubleValue travelTime, 203 204 DoubleValue vehicleUtilization, DoubleMatrix distanceMatrix, BoolValue useDistanceMatrix, 204 205 DoubleArray readyTime, DoubleArray dueTime, DoubleArray serviceTime) … … 222 223 private VRPSolution(bool deserializing) : base(deserializing) { } 223 224 225 private VRPSolution(VRPSolution original, Cloner cloner) 226 : base(original, cloner) { 227 coordinates = cloner.Clone(original.coordinates); 228 solution = cloner.Clone(original.solution); 229 quality = cloner.Clone(original.quality); 230 distance = cloner.Clone(original.distance); 231 overload = cloner.Clone(original.overload); 232 tardiness = cloner.Clone(original.tardiness); 233 travelTime = cloner.Clone(original.travelTime); 234 vehicleUtilization = cloner.Clone(original.vehicleUtilization); 235 distanceMatrix = cloner.Clone(original.distanceMatrix); 236 useDistanceMatrix = cloner.Clone(original.useDistanceMatrix); 237 readyTime = cloner.Clone(original.readyTime); 238 dueTime = cloner.Clone(original.dueTime); 239 serviceTime = cloner.Clone(original.serviceTime); 240 Initialize(); 241 } 242 224 243 [StorableHook(HookType.AfterDeserialization)] 244 private void AfterDeserialization() { 245 Initialize(); 246 } 225 247 private void Initialize() { 226 248 if (coordinates != null) RegisterCoordinatesEvents(); … … 235 257 236 258 public override IDeepCloneable Clone(Cloner cloner) { 237 VRPSolution clone = new VRPSolution(); 238 cloner.RegisterClonedObject(this, clone); 239 clone.coordinates = (DoubleMatrix)cloner.Clone(coordinates); 240 clone.solution = (IVRPEncoding)cloner.Clone(solution); 241 clone.quality = (DoubleValue)cloner.Clone(quality); 242 clone.distance = (DoubleValue)cloner.Clone(distance); 243 clone.overload = (DoubleValue)cloner.Clone(overload); 244 clone.tardiness = (DoubleValue)cloner.Clone(tardiness); 245 clone.travelTime = (DoubleValue)cloner.Clone(travelTime); 246 clone.vehicleUtilization = (DoubleValue)cloner.Clone(vehicleUtilization); 247 clone.distanceMatrix = (DoubleMatrix)cloner.Clone(distanceMatrix); 248 clone.useDistanceMatrix = (BoolValue)cloner.Clone(useDistanceMatrix); 249 clone.readyTime = (DoubleArray)cloner.Clone(readyTime); 250 clone.dueTime = (DoubleArray)cloner.Clone(dueTime); 251 clone.serviceTime = (DoubleArray)cloner.Clone(serviceTime); 252 clone.Initialize(); 253 return clone; 259 return new VRPSolution(this, cloner); 254 260 } 255 261
Note: See TracChangeset
for help on using the changeset viewer.