//----------------------------------------------------------------------- // // Copyright (c) 2011 Deltares. All rights reserved. // // B.S.T.I.M. The // tom.the@deltares.nl // 23-06-2011 // Super class to contain 1D and 2D soil geometry //----------------------------------------------------------------------- using Deltares.Geotechnics; using Deltares.Geotechnics.Soils; namespace Deltares.Dam.Data { using System; using System.Collections.Generic; using System.Linq; using System.Text; using Deltares.Soilbase; /// /// Exception class for SoilGeometry /// public class SoilGeometryException : ApplicationException { public SoilGeometryException(string message) : base(message) { } } public class SoilGeometryBase { public virtual SoilGeometryType SoilGeometryType { get; set; } public virtual string SoilGeometryName { get; set; } } /// /// Super class to contain 1D and 2D soil geometry /// public class SoilGeometry : SoilGeometryBase { private SoilProfile1D soilProfile; private string soilGeometry2DName; /// /// Constructor /// public SoilGeometry(SoilProfile1D soilProfile, string soilGeometry2DName) { this.SoilProfile = soilProfile; this.SoilGeometry2DName = soilGeometry2DName; } #region PublicPropteries public override SoilGeometryType SoilGeometryType { get { SoilGeometryType soilGeometryType = SoilGeometryType.SoilGeometry2D; if (soilProfile != null) { soilGeometryType = SoilGeometryType.SoilGeometry1D; } if ((SoilProfile == null) && ((SoilGeometry2DName == null) || SoilGeometry2DName == "")) { throw new SoilGeometryException("No geometry assigned"); } return soilGeometryType; } } public SoilProfile1D SoilProfile { get { return soilProfile; } set { soilProfile = value; } } public string SoilGeometry2DName { get { return soilGeometry2DName; } set { soilGeometry2DName = value; } } #endregion PublicPropteries } }