diff options
author | UbitUmarov | 2016-11-16 03:47:48 +0000 |
---|---|---|
committer | UbitUmarov | 2016-11-16 03:47:48 +0000 |
commit | 05ba77fd3b72bb29a1f57245f8cd4ddeb6a19fb8 (patch) | |
tree | 32c7e8cb7c9e3b0ee9848d39e2b8c437221e6bf3 /OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs | |
parent | minor change to getdisplaynames cap url (diff) | |
download | opensim-SC_OLD-05ba77fd3b72bb29a1f57245f8cd4ddeb6a19fb8.zip opensim-SC_OLD-05ba77fd3b72bb29a1f57245f8cd4ddeb6a19fb8.tar.gz opensim-SC_OLD-05ba77fd3b72bb29a1f57245f8cd4ddeb6a19fb8.tar.bz2 opensim-SC_OLD-05ba77fd3b72bb29a1f57245f8cd4ddeb6a19fb8.tar.xz |
fix parsing of a vector4 and storing on a lsl quaternion needed for lightShare scripts
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs index c36e7c6..738a814 100644 --- a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs +++ b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs | |||
@@ -700,6 +700,31 @@ namespace OpenSim.Region.ScriptEngine.Shared | |||
700 | } | 700 | } |
701 | } | 701 | } |
702 | 702 | ||
703 | // use LSL_Types.Quaternion to parse and store a vector4 for lightShare | ||
704 | public LSL_Types.Quaternion GetVector4Item(int itemIndex) | ||
705 | { | ||
706 | if (Data[itemIndex] is LSL_Types.Quaternion) | ||
707 | { | ||
708 | LSL_Types.Quaternion q = (LSL_Types.Quaternion)Data[itemIndex]; | ||
709 | return q; | ||
710 | } | ||
711 | else if(Data[itemIndex] is OpenMetaverse.Quaternion) | ||
712 | { | ||
713 | LSL_Types.Quaternion q = new LSL_Types.Quaternion( | ||
714 | (OpenMetaverse.Quaternion)Data[itemIndex]); | ||
715 | q.Normalize(); | ||
716 | return q; | ||
717 | } | ||
718 | else | ||
719 | { | ||
720 | throw new InvalidCastException(string.Format( | ||
721 | "{0} expected but {1} given", | ||
722 | typeof(LSL_Types.Quaternion).Name, | ||
723 | Data[itemIndex] != null ? | ||
724 | Data[itemIndex].GetType().Name : "null")); | ||
725 | } | ||
726 | } | ||
727 | |||
703 | public LSL_Types.Quaternion GetQuaternionItem(int itemIndex) | 728 | public LSL_Types.Quaternion GetQuaternionItem(int itemIndex) |
704 | { | 729 | { |
705 | if (Data[itemIndex] is LSL_Types.Quaternion) | 730 | if (Data[itemIndex] is LSL_Types.Quaternion) |