duheng
2025-03-28 b266e82b9a377fa35a766f7a3a2f5aa95f3c9125
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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}";
        }
    }
 
}