//-----------------------------------------------------------------------
//
// 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
}
}