diff options
author | Mike Mazur | 2008-07-31 09:34:13 +0000 |
---|---|---|
committer | Mike Mazur | 2008-07-31 09:34:13 +0000 |
commit | ddf126321cd05228a377e49ca23c16c4f0cfe25f (patch) | |
tree | de2a13daf95f48bdbd1cffa2f0a37724b0f5c902 | |
parent | Thanks, sempuki, for a patch that moves all Grid Server's plugins to (diff) | |
download | opensim-SC_OLD-ddf126321cd05228a377e49ca23c16c4f0cfe25f.zip opensim-SC_OLD-ddf126321cd05228a377e49ca23c16c4f0cfe25f.tar.gz opensim-SC_OLD-ddf126321cd05228a377e49ca23c16c4f0cfe25f.tar.bz2 opensim-SC_OLD-ddf126321cd05228a377e49ca23c16c4f0cfe25f.tar.xz |
Thanks, M. Igarashi & nlin, for a patch that implements unary minus operator
for Vector3 type. Fix issue 1872.
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/LSL_Types.cs | 5 | ||||
-rw-r--r-- | OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestVector3.cs | 11 |
2 files changed, 14 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs index 21acac2..4fff717 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_Types.cs | |||
@@ -126,6 +126,11 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
126 | return (x == vector.x && x == vector.x && z == vector.z); | 126 | return (x == vector.x && x == vector.x && z == vector.z); |
127 | } | 127 | } |
128 | 128 | ||
129 | public static Vector3 operator -(Vector3 vector) | ||
130 | { | ||
131 | return new Vector3(-vector.x, -vector.y, -vector.z); | ||
132 | } | ||
133 | |||
129 | #endregion | 134 | #endregion |
130 | 135 | ||
131 | #region Vector & Vector Math | 136 | #region Vector & Vector Math |
diff --git a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestVector3.cs b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestVector3.cs index cadee93..0a41f92 100644 --- a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestVector3.cs +++ b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestVector3.cs | |||
@@ -29,6 +29,7 @@ using System.Collections.Generic; | |||
29 | using NUnit.Framework; | 29 | using NUnit.Framework; |
30 | using OpenSim.Tests.Common; | 30 | using OpenSim.Tests.Common; |
31 | using OpenSim.Region.ScriptEngine.Common; | 31 | using OpenSim.Region.ScriptEngine.Common; |
32 | using vector = OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3; | ||
32 | 33 | ||
33 | namespace OpenSim.Region.ScriptEngine.Common.Tests | 34 | namespace OpenSim.Region.ScriptEngine.Common.Tests |
34 | { | 35 | { |
@@ -39,7 +40,6 @@ namespace OpenSim.Region.ScriptEngine.Common.Tests | |||
39 | /// Tests for Vector3 | 40 | /// Tests for Vector3 |
40 | /// </summary> | 41 | /// </summary> |
41 | [Test] | 42 | [Test] |
42 | |||
43 | public void TestDotProduct() | 43 | public void TestDotProduct() |
44 | { | 44 | { |
45 | // The numbers we test for. | 45 | // The numbers we test for. |
@@ -54,9 +54,16 @@ namespace OpenSim.Region.ScriptEngine.Common.Tests | |||
54 | foreach (KeyValuePair<string, double> ex in expectsSet) | 54 | foreach (KeyValuePair<string, double> ex in expectsSet) |
55 | { | 55 | { |
56 | parts = ex.Key.Split(delim, System.StringSplitOptions.None); | 56 | parts = ex.Key.Split(delim, System.StringSplitOptions.None); |
57 | result = new LSL_Types.Vector3(parts[0]) * new LSL_Types.Vector3(parts[1]); | 57 | result = new vector(parts[0]) * new vector(parts[1]); |
58 | Assert.AreEqual(ex.Value, result); | 58 | Assert.AreEqual(ex.Value, result); |
59 | } | 59 | } |
60 | } | 60 | } |
61 | |||
62 | [Test] | ||
63 | public void TestUnaryMinusOperator() | ||
64 | { | ||
65 | Assert.AreEqual(new vector(-1, -1, -1), - (new vector(1, 1, 1))); | ||
66 | Assert.AreEqual(new vector(0, 0, 0), - (new vector(0, 0, 0))); | ||
67 | } | ||
61 | } | 68 | } |
62 | } | 69 | } |