Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilLayer2D.cs
===================================================================
diff -u -r5294 -r6087
--- DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilLayer2D.cs (.../SoilLayer2D.cs) (revision 5294)
+++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilLayer2D.cs (.../SoilLayer2D.cs) (revision 6087)
@@ -57,7 +57,7 @@
/// Creates a clone of the SoilLayer2D
///
/// The cloned SoilLayer2D
- public SoilLayer2D Clone()
+ public SoilLayer2D Clone(GeometryData geometryData)
{
var clonedSoilLayer2D = new SoilLayer2D
{
@@ -67,10 +67,14 @@
WaterpressureInterpolationModel = WaterpressureInterpolationModel,
GeometrySurface = GeometrySurface.Clone()
};
- var clonedLoop = GeometrySurface.OuterLoop.Clone();
+ GeometryLoop clonedLoop = geometryData.FindLoopThatHasSameLoopCurves(GeometrySurface.OuterLoop);
clonedSoilLayer2D.GeometrySurface.OuterLoop = clonedLoop;
List innerLoops = new List();
- innerLoops.AddRange(GeometrySurface.InnerLoops.Select(loop => loop.Clone()).ToList());
+ foreach (GeometryLoop innerLoop in GeometrySurface.InnerLoops)
+ {
+ innerLoops.Add(geometryData.FindLoopThatHasSameLoopCurves(innerLoop));
+ }
+
clonedSoilLayer2D.GeometrySurface.InnerLoops.AddRange(innerLoops);
return clonedSoilLayer2D;
}