// Copyright (C) Stichting Deltares 2024. All rights reserved. // // This file is part of the application DAM - UI. // // DAM - UI is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // All names, logos, and references to "Deltares" are registered trademarks of // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. using Deltares.Geometry; namespace Deltares.Dam.Data; public class GaugePLLinePoint : GeometryPoint { public GaugePLLinePoint() : this(null, null, null, null) {} public GaugePLLinePoint(double? localX, double? localZ, string gaugeX, string gaugeZ) { X = localX; Z = localZ; GaugeIDX = gaugeX; GaugeIDZ = gaugeZ; } public new double? X { get; set; } public new double? Z { get; set; } public string GaugeIDX { get; set; } public string GaugeIDZ { get; set; } public override string ToString() { return $"({(X.HasValue ? X.ToString() : "?")}, {(Z.HasValue ? Z.ToString() : "?")}, '{GaugeIDX}', '{GaugeIDZ}')"; } } public class GaugePLLine : PolyLine { public GaugePLLine(PLLineType plLineType) : this() { PLLineType = plLineType; } private GaugePLLine() {} public PLLineType PLLineType { get; set; } public override string ToString() { var result = $"{PLLineType.ToString()} | "; foreach (GaugePLLinePoint point in Points) { result += point + ", "; } return result; } }