diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Framework/Util.cs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 58344f3..45b5a10 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs | |||
@@ -70,6 +70,39 @@ namespace OpenSim.Framework | |||
70 | public static readonly Regex UUIDPattern | 70 | public static readonly Regex UUIDPattern |
71 | = new Regex("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"); | 71 | = new Regex("^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"); |
72 | 72 | ||
73 | /// <summary> | ||
74 | /// Linear interpolates B<->C using percent A | ||
75 | /// </summary> | ||
76 | /// <param name="a"></param> | ||
77 | /// <param name="b"></param> | ||
78 | /// <param name="c"></param> | ||
79 | /// <returns></returns> | ||
80 | public static double lerp(double a, double b, double c) | ||
81 | { | ||
82 | return (b*a) + (c*(1 - a)); | ||
83 | } | ||
84 | |||
85 | /// <summary> | ||
86 | /// Bilinear Interpolate, see Lerp but for 2D using 'percents' X & Y. | ||
87 | /// Layout: | ||
88 | /// A B | ||
89 | /// C D | ||
90 | /// A<->C = Y | ||
91 | /// C<->D = X | ||
92 | /// </summary> | ||
93 | /// <param name="x"></param> | ||
94 | /// <param name="y"></param> | ||
95 | /// <param name="a"></param> | ||
96 | /// <param name="b"></param> | ||
97 | /// <param name="c"></param> | ||
98 | /// <param name="d"></param> | ||
99 | /// <returns></returns> | ||
100 | public static double lerp2D(double x, double y, double a, double b, double c, double d) | ||
101 | { | ||
102 | return lerp(y, lerp(x, a, b), lerp(x, c, d)); | ||
103 | } | ||
104 | |||
105 | |||
73 | /// <value> | 106 | /// <value> |
74 | /// Well known UUID for the blank texture used in the Linden SL viewer version 1.20 (and hopefully onwards) | 107 | /// Well known UUID for the blank texture used in the Linden SL viewer version 1.20 (and hopefully onwards) |
75 | /// </value> | 108 | /// </value> |