Index: DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2D.cs =================================================================== diff -u -r3522 -r3790 --- DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2D.cs (.../SoilProfile2D.cs) (revision 3522) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/Geotechnics/SoilProfile2D.cs (.../SoilProfile2D.cs) (revision 3790) @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; +using System.Linq; using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Standard.Language; using Deltares.DamEngine.Data.Standard.Validation; @@ -84,7 +85,44 @@ public virtual SoilProfile1D GetSoilProfile1D(double x) { const double diff = 0.001; - + if (Geometry.Surfaces.Count == 0) + { + + foreach (var soilLayer2D in Surfaces) + { + var loop = new GeometryLoop(); + var tel = 0; + GeometryCurve curve = new GeometryCurve(); + foreach (var outerLoopCalcPoint in soilLayer2D.GeometrySurface.OuterLoop.CalcPoints) + { + Geometry.Points.Add(outerLoopCalcPoint); + loop.CalcPoints.Add(outerLoopCalcPoint); + Geometry.Surfaces.Add(soilLayer2D.GeometrySurface); + if (tel == 0) + { + curve.HeadPoint = outerLoopCalcPoint; + } + else + { + curve.EndPoint = outerLoopCalcPoint; + loop.CurveList.Add(curve); + curve = new GeometryCurve(); + curve.HeadPoint = outerLoopCalcPoint; + } + tel++; + } + curve.EndPoint = loop.CurveList.First().HeadPoint; + Geometry.Curves.Add(curve); + loop.CurveList.Add(curve); + Geometry.Loops.Add(loop); + var surface = new GeometrySurface(); + surface.OuterLoop = loop; + Geometry.Surfaces.Add(surface); + } + + Geometry.Right = Geometry.MaxGeometryPointsX; + Geometry.Left = Geometry.MinGeometryPointsX; + } var soilProfile = new SoilProfile1D { Name = "Generated at x = " + x + " from " + Name