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; }