summaryrefslogtreecommitdiff
path: root/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/Range.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/Range.cs')
-rw-r--r--Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/Range.cs49
1 files changed, 49 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/Range.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/Range.cs
new file mode 100644
index 0000000..745e742
--- /dev/null
+++ b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/Range.cs
@@ -0,0 +1,49 @@
+using System;
+using UnityEngine;
+
+namespace UnityEditor.Timeline
+{
+ struct Range
+ {
+ public double start;
+ public double end;
+ public double length { get { return end - start; } }
+
+ public static Range Union(Range lhs, Range rhs)
+ {
+ return new Range
+ {
+ start = Math.Min(lhs.start, rhs.start),
+ end = Math.Max(lhs.end, rhs.end)
+ };
+ }
+
+ public static Range Intersection(Range lhs, Range rhs)
+ {
+ var s = Math.Max(lhs.start, rhs.start);
+ var e = Math.Min(lhs.end, rhs.end);
+
+ if (s > e)
+ {
+ // No intersection returns a 0-length range from 0 to 0
+ return new Range();
+ }
+
+ return new Range
+ {
+ start = s,
+ end = e
+ };
+ }
+
+ public override string ToString()
+ {
+ return ToString("F3");
+ }
+
+ public string ToString(string format)
+ {
+ return UnityString.Format("({0}, {1})", start.ToString(format), end.ToString(format));
+ }
+ }
+}