diff options
author | BlueWall | 2010-10-17 01:47:07 -0400 |
---|---|---|
committer | Melanie | 2010-10-17 09:52:12 +0100 |
commit | 06b61b68c768b040894158199816bd11b0fd5f52 (patch) | |
tree | 400b026bec9243ea7daa516145e08b5e6c296303 /OpenSim/Region/ScriptEngine/Shared/Api/Implementation | |
parent | typical non-effectual build trigger (diff) | |
download | opensim-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.cs | 42 |
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 |