namespace HydroUI
|
{
|
[Serializable]
|
public class DRange
|
{
|
|
public DRange(double min, double max)
|
{
|
Min = min;
|
Max = max;
|
}
|
public DRange(DRange range)
|
{
|
if (range == null)
|
{
|
Min = 0;
|
Max = 0;
|
}
|
else
|
{
|
Min = range.Min;
|
Max = range.Max;
|
}
|
|
}
|
public DRange()
|
{
|
Min = 0;
|
Max = 0;
|
}
|
public double Min { get; set; }
|
public double Max { get; set; }
|
|
public double Length { get { return Max - Min; } }
|
|
public bool IsInside(double x)
|
{
|
return x >= Min && x <= Max;
|
}
|
public bool isValid { get { return Min <= Max; } }
|
public void Union(DRange range)
|
{
|
if (range.Min < Min)
|
{
|
Min = range.Min;
|
}
|
if (range.Max > Max)
|
{
|
Max = range.Max;
|
}
|
}
|
public static DRange Union(DRange range1, DRange range2)
|
{
|
DRange range = new DRange(range1);
|
range.Union(range2);
|
return range;
|
}
|
public override string ToString()
|
{
|
return $"{Min:0.000}-{Max:0.000}";
|
}
|
}
|
|
}
|