// Copyright (C) Stichting Deltares 2017. All rights reserved. // // This file is part of Ringtoets. // // Ringtoets 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 System; using Core.Common.Base.Geometry; namespace Ringtoets.Common.IO.SurfaceLines { /// /// This class represents a collection of characterizing locations on a surface line. /// public class CharacteristicPoints { /// /// Creates an instance of . /// /// The name of the location for which the /// defines characteristic points. /// Thrown when is null. public CharacteristicPoints(string name) { if (name == null) { throw new ArgumentNullException(nameof(name), @"Cannot make a definition of characteristic points for an unknown location."); } Name = name; } /// /// Gets the name of the location for which the defines /// characteristic points. /// public string Name { get; private set; } /// /// Gets or sets the location which generalizes the surface level on the /// inside of the polder /// public Point3D SurfaceLevelInside { get; set; } /// /// Gets or sets the location of the start of the ditch when approaching from /// inside the polder. /// public Point3D DitchPolderSide { get; set; } /// /// Gets or sets the location of the bottom of the ditch when approaching /// from inside the polder. /// public Point3D BottomDitchPolderSide { get; set; } /// /// Gets or sets the location of the bottom of the ditch when approaching /// from the dike. /// public Point3D BottomDitchDikeSide { get; set; } /// /// Gets or sets the location of the start of the ditch when approaching /// from the dike. /// public Point3D DitchDikeSide { get; set; } /// /// Gets or sets the location of dike toe when approaching from inside /// the polder. /// public Point3D DikeToeAtPolder { get; set; } /// /// Gets or sets the location where the shoulder on the side of the polder /// declines towards the location of the dike toe when approaching from inside /// the polder. /// public Point3D TopShoulderInside { get; set; } /// /// Gets or sets the location where the shoulder on the side of the polder /// connects with the dike. /// public Point3D ShoulderInside { get; set; } /// /// Gets or sets the location of the top of the dike when approaching from /// inside the polder. /// public Point3D DikeTopAtPolder { get; set; } /// /// Gets or sets the location of the start of traffic load when approaching /// from inside the polder. /// public Point3D TrafficLoadInside { get; set; } /// /// Gets or sets the location of the start of traffic load when approaching /// from outside the polder. /// public Point3D TrafficLoadOutside { get; set; } /// /// Gets or sets the location of the top of the dike when approaching /// from outside the polder. /// public Point3D DikeTopAtRiver { get; set; } /// /// Gets or sets the location where the shoulder on the outside of the polder /// connects with the dike. /// public Point3D ShoulderOutisde { get; set; } /// /// Gets or sets the location where the shoulder on the outside of the polder /// declines towards the location of the dike toe when approaching from outside /// the polder. /// public Point3D TopShoulderOutside { get; set; } /// /// Gets or sets the location of dike toe when approaching from outside /// the polder. /// public Point3D DikeToeAtRiver { get; set; } /// /// Gets or sets the location which generalizes the height of the surface /// on the oustide of the polder. /// public Point3D SurfaceLevelOutside { get; set; } /// /// Gets or sets the location of dike table height. /// public Point3D DikeTableHeight { get; set; } /// /// Gets or sets the location of insert river channel. /// public Point3D InsertRiverChannel { get; set; } /// /// Gets or sets the location of bottom river channel. /// public Point3D BottomRiverChannel { get; set; } } }