From 54a27f9f5c556e518c2ba18b9a5494d517dfd041 Mon Sep 17 00:00:00 2001 From: Charles Krinke Date: Tue, 31 Mar 2009 02:33:19 +0000 Subject: Thank you kindly, MCortez for a patch that: With some support from HomerH, this patch adds support for Wind Model plugins via the mono.Addin framework. * Adds console & OSSL access to Wind Parameters * Adds plug-in support for custom wind models * Provides two example Wind Model plug-ins Documentation for the wind module is temporarily located at http://code.google.com/p/flotsam/wiki/CoreWindModule [^] -- will move this documentation to http://opensimulator.org [^] after the patch has been committed. --- .../Shared/Api/Implementation/OSSL_Api.cs | 45 +++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index c87cc44..491a971 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -268,7 +268,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // // OpenSim functions // - public int osTerrainSetHeight(int x, int y, double val) { CheckThreatLevel(ThreatLevel.High, "osTerrainSetHeight"); @@ -920,6 +919,50 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } + public string osWindActiveModelPluginName() + { + CheckThreatLevel(ThreatLevel.None, "osWindActiveModelPluginName"); + m_host.AddScriptLPS(1); + + IWindModule module = World.RequestModuleInterface(); + if (module != null) + { + return module.WindActiveModelPluginName; + } + + return String.Empty; + } + + public void osWindParamSet(string plugin, string param, float value) + { + CheckThreatLevel(ThreatLevel.VeryLow, "osWindParamSet"); + m_host.AddScriptLPS(1); + + IWindModule module = World.RequestModuleInterface(); + if (module != null) + { + try + { + module.WindParamSet(plugin, param, value); + } + catch (Exception) { } + } + } + + public float osWindParamGet(string plugin, string param) + { + CheckThreatLevel(ThreatLevel.VeryLow, "osWindParamGet"); + m_host.AddScriptLPS(1); + + IWindModule module = World.RequestModuleInterface(); + if (module != null) + { + return module.WindParamGet(plugin, param); + } + + return 0.0f; + } + public double osList2Double(LSL_Types.list src, int index) -- cgit v1.1