From c55fba8ab2a1c9d3df65eda4a5a1e957f4aa1f78 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Sun, 19 Apr 2020 17:19:32 -0400 Subject: Inital commit --- .../Editor/Utilities/Range.cs | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/Range.cs (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/Range.cs') 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)); + } + } +} -- cgit v1.2.3