Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/SoilProfile/MacroStabilityInwardsSoilProfileUnderSurfaceLineFactory.cs =================================================================== diff -u -rc91246ef0f88eff9950857a6f2c404653a022dcc -r7585d2fd78627d94d55ffa16423af90a91e4efd4 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/SoilProfile/MacroStabilityInwardsSoilProfileUnderSurfaceLineFactory.cs (.../MacroStabilityInwardsSoilProfileUnderSurfaceLineFactory.cs) (revision c91246ef0f88eff9950857a6f2c404653a022dcc) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/SoilProfile/MacroStabilityInwardsSoilProfileUnderSurfaceLineFactory.cs (.../MacroStabilityInwardsSoilProfileUnderSurfaceLineFactory.cs) (revision 7585d2fd78627d94d55ffa16423af90a91e4efd4) @@ -90,35 +90,28 @@ private static MacroStabilityInwardsSoilProfileUnderSurfaceLine Create(MacroStabilityInwardsSoilProfile2D soilProfile) { - IEnumerable layersUnderSurfaceLine = soilProfile.Layers.Select( - layer => new MacroStabilityInwardsSoilLayerUnderSurfaceLine( - RingToPoints(layer.OuterRing), - layer.Holes.Select(RingToPoints).ToArray(), - layer.Data)).ToArray(); - - return new MacroStabilityInwardsSoilProfileUnderSurfaceLine(layersUnderSurfaceLine, soilProfile.PreconsolidationStresses); + return new MacroStabilityInwardsSoilProfileUnderSurfaceLine(soilProfile.Layers, soilProfile.PreconsolidationStresses); } - private static Point2D[] RingToPoints(Ring ring) - { - return ring.Points.ToArray(); - } - private static MacroStabilityInwardsSoilProfileUnderSurfaceLine GeometriesToIntersections(IEnumerable layerGeometries, IEnumerable surfaceLineGeometry) { - var collection = new Collection(); + var soilLayers = new Collection(); IEnumerable surfaceLineGeometryArray = surfaceLineGeometry.ToArray(); foreach (TempSoilLayerGeometry layer in layerGeometries) { foreach (Point2D[] soilLayerArea in GetSoilLayerWithSurfaceLineIntersection(surfaceLineGeometryArray, layer.OuterLoop)) { - collection.Add(new MacroStabilityInwardsSoilLayerUnderSurfaceLine(soilLayerArea, layer.Data)); + soilLayers.Add(new MacroStabilityInwardsSoilLayer2D(new Ring(soilLayerArea), Enumerable.Empty()) + { + Data = layer.Data, + NestedLayers = Enumerable.Empty() + }); } } - return new MacroStabilityInwardsSoilProfileUnderSurfaceLine(collection, Enumerable.Empty()); + return new MacroStabilityInwardsSoilProfileUnderSurfaceLine(soilLayers, Enumerable.Empty()); } private static TempSoilLayerGeometry As2DGeometry(MacroStabilityInwardsSoilLayer1D layer, MacroStabilityInwardsSoilProfile1D soilProfile, double minX, double maxX) @@ -142,15 +135,15 @@ private class TempSoilLayerGeometry { - public TempSoilLayerGeometry(Point2D[] outerLoop, MacroStabilityInwardsSoilLayerData data) + public TempSoilLayerGeometry(Point2D[] outerLoop, IMacroStabilityInwardsSoilLayerData data) { OuterLoop = outerLoop; Data = data; } public Point2D[] OuterLoop { get; } - public MacroStabilityInwardsSoilLayerData Data { get; } + public IMacroStabilityInwardsSoilLayerData Data { get; } } } } \ No newline at end of file