Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/SurfaceLineEntityReadExtensions.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r508d720230c5f63bce7f95bddc3b7a04808d267d --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/SurfaceLineEntityReadExtensions.cs (.../SurfaceLineEntityReadExtensions.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/SurfaceLineEntityReadExtensions.cs (.../SurfaceLineEntityReadExtensions.cs) (revision 508d720230c5f63bce7f95bddc3b7a04808d267d) @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; +using Application.Ringtoets.Storage.BinaryConverters; using Application.Ringtoets.Storage.DbContext; using Core.Common.Base.Geometry; @@ -64,30 +65,25 @@ entity.ReferenceLineIntersectionX.ToNullAsNaN(), entity.ReferenceLineIntersectionY.ToNullAsNaN()) }; - entity.ReadSurfaceLineGeometryAndCharacteristicPoints(surfaceLine, collector); + entity.ReadSurfaceLineGeometryAndCharacteristicPoints(surfaceLine); collector.Read(entity, surfaceLine); return surfaceLine; } - private static void ReadSurfaceLineGeometryAndCharacteristicPoints(this SurfaceLineEntity entity, RingtoetsPipingSurfaceLine surfaceLine, ReadConversionCollector collector) + private static void ReadSurfaceLineGeometryAndCharacteristicPoints(this SurfaceLineEntity entity, RingtoetsPipingSurfaceLine surfaceLine) { - var geometryPoints = new Point3D[entity.SurfaceLinePointEntities.Count]; - var characteristicPoints = new Dictionary(); + Point3D[] geometryPoints = new Point3DBinaryConverter().ToData(entity.PointsData); + surfaceLine.SetGeometry(geometryPoints); - foreach (SurfaceLinePointEntity pointEntity in entity.SurfaceLinePointEntities) + var characteristicPoints = new Dictionary(); + foreach (CharacteristicPointEntity pointEntity in entity.CharacteristicPointEntities) { - var geometryPoint = pointEntity.Read(collector); - geometryPoints[pointEntity.Order] = geometryPoint; - - foreach (CharacteristicPointEntity characteristicPointEntity in pointEntity.CharacteristicPointEntities) - { - characteristicPoints[(CharacteristicPointType)characteristicPointEntity.CharacteristicPointType] = geometryPoint; - } + characteristicPoints[(CharacteristicPointType)pointEntity.Type] = new Point3D(pointEntity.X.ToNullAsNaN(), + pointEntity.Y.ToNullAsNaN(), + pointEntity.Z.ToNullAsNaN()); } - - surfaceLine.SetGeometry(geometryPoints); foreach (KeyValuePair keyValuePair in characteristicPoints) { SetCharacteristicPoint(surfaceLine, keyValuePair.Key, keyValuePair.Value);