public override double?GetAltitude(HealCoor basin) { var altitude = Relief.GetAltitude(basin); if (altitude == 0) { altitude = ReliefBed.GetAltitude(basin); } return(altitude); }
public override double?GetAltitude(HealCoor basin) { var altitude = Relief.GetAltitude(basin); var altitudeShape = ReliefBed.GetAltitude(basin) + Earth2014Manager.Radius2Add; var thetaTan = Math.Tan(basin.Beta.Value); /* may be out of range */ var undulation = altitudeShape - altitude - Ellipsoid.Radius(Ellipsoid.CalcVarPhi(thetaTan)); return(undulation); }
public int GetHeights(HealCoor coor, int rOfEllipse, out int waterHeight) { var surface = Relief.GetAltitude(coor); var hOQ = surface; if (IsReliefShape) { // hOQ includes undulation hOQ += Earth2014Manager.Radius2Add - rOfEllipse; } var bed = ReliefBed.GetAltitude(coor); waterHeight = surface - bed; if (waterHeight > 0) /* lakes in ice are ignored */ { } return(hOQ); }
public void Dispose() { Relief.Dispose(); ReliefBed.Dispose(); }