aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation
diff options
context:
space:
mode:
authorBlueWall2010-10-17 01:47:07 -0400
committerMelanie2010-10-17 09:52:12 +0100
commit06b61b68c768b040894158199816bd11b0fd5f52 (patch)
tree400b026bec9243ea7daa516145e08b5e6c296303 /OpenSim/Region/ScriptEngine/Shared/Api/Implementation
parenttypical non-effectual build trigger (diff)
downloadopensim-SC_OLD-06b61b68c768b040894158199816bd11b0fd5f52.zip
opensim-SC_OLD-06b61b68c768b040894158199816bd11b0fd5f52.tar.gz
opensim-SC_OLD-06b61b68c768b040894158199816bd11b0fd5f52.tar.bz2
opensim-SC_OLD-06b61b68c768b040894158199816bd11b0fd5f52.tar.xz
Adding osFunctions for light projection
Set the projection parameters in the host prim ... osSetProjectionParam(bool Enabled, key TextureMaskUUID, float FOV, float Focus, float Ambiance); Set the projection parameters in a target prim ... osSetProjectionParam(ikey target uuid, bool Enabled, key TextureMaskUUID, float FOV, float Focus, float Ambiance); Threat Level very high Signed-off-by: Melanie <melanie@t-data.com>
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs42
1 files changed, 42 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 477c52d..8a98be7 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -2200,6 +2200,48 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2200 2200
2201 m_LSL_Api.SetPrimitiveParamsEx(prim, rules); 2201 m_LSL_Api.SetPrimitiveParamsEx(prim, rules);
2202 } 2202 }
2203
2204 /// <summary>
2205 /// Set parameters for light projection in host prim
2206 /// </summary>
2207 public void osSetProjectionParams(bool projection, LSL_Key texture, double fov, double focus, double amb)
2208 {
2209 CheckThreatLevel(ThreatLevel.High, "osSetProjectionParams");
2210
2211 osSetProjectionParams(UUID.Zero.ToString(), projection, texture, fov, focus, amb);
2212 }
2213
2214 /// <summary>
2215 /// Set parameters for light projection with uuid of target prim
2216 /// </summary>
2217 public void osSetProjectionParams(LSL_Key prim, bool projection, LSL_Key texture, double fov, double focus, double amb)
2218 {
2219 CheckThreatLevel(ThreatLevel.High, "osSetProjectionParams");
2220 m_host.AddScriptLPS(1);
2221
2222 SceneObjectPart obj = null;
2223 if (prim == UUID.Zero.ToString())
2224 {
2225 obj = m_host;
2226 }
2227 else
2228 {
2229 obj = World.GetSceneObjectPart(new UUID(prim));
2230 if (obj == null)
2231 return;
2232 }
2233
2234 obj.Shape.ProjectionEntry = projection;
2235 obj.Shape.ProjectionTextureUUID = new UUID(texture);
2236 obj.Shape.ProjectionFOV = (float)fov;
2237 obj.Shape.ProjectionFocus = (float)focus;
2238 obj.Shape.ProjectionAmbiance = (float)amb;
2239
2240
2241 obj.ParentGroup.HasGroupChanged = true;
2242 obj.ScheduleFullUpdate();
2243
2244 }
2203 2245
2204 /// <summary> 2246 /// <summary>
2205 /// Like osGetAgents but returns enough info for a radar 2247 /// Like osGetAgents but returns enough info for a radar