예제 #1
0
 /// <summary>指定した Range の範囲がこの Range の範囲内に収まるようにオフセットする</summary>
 public void DragIn(ref Range value) {
     if (value.Distance > this.Distance) {
         value = this;
     }
     else if (value.Min < this.Min) {
         value.Offset(this.Min - value.Min);
     }
     else if (value.Max > this.Max) {
         value.Offset(this.Max - value.Max);
     }
 }
예제 #2
0
 /// <summary>value を この Range から target で指定した範囲へ投影する</summary>
 public int Projection(int value, Range target) {
     return (value - this.Min) * this.Distance / target.Distance + target.Min;
 }
예제 #3
0
 /// <summary>Min <= value.Min && value.Max <= Max であるか否かを返す</summary>
 public bool Contains(Range value) {
     return (Min <= value.Min && value.Max <= Max);
 }