aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs
diff options
context:
space:
mode:
authorUbitUmarov2016-11-16 03:47:48 +0000
committerUbitUmarov2016-11-16 03:47:48 +0000
commit05ba77fd3b72bb29a1f57245f8cd4ddeb6a19fb8 (patch)
tree32c7e8cb7c9e3b0ee9848d39e2b8c437221e6bf3 /OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs
parentminor change to getdisplaynames cap url (diff)
downloadopensim-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.cs25
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)