using System; using System.Collections.Generic; using Nini.Config; using OpenSim.Framework; using OpenMetaverse; using OpenSim.Region.Framework.Scenes; namespace OpenSim.Region.CoreModules.World.Wind { public interface IWindModelPlugin : IPlugin { /// /// Brief description of this plugin's wind model /// string Description { get; } /// /// Provides access to the wind configuration, if any. /// void WindConfig(Scene scene, IConfig windConfig); /// /// Update wind. /// void WindUpdate(uint frame); /// /// Returns the wind vector at the given local region coordinates. /// Vector3 WindSpeed(float x, float y, float z); /// /// Generate a 16 x 16 Vector2 array of wind speeds for LL* based viewers /// /// Must return a Vector2[256] Vector2[] WindLLClientArray(); /// /// Retrieve a list of parameter/description pairs. /// /// Dictionary WindParams(); /// /// Set the specified parameter /// void WindParamSet(string param, float value); /// /// Get the specified parameter /// float WindParamGet(string param); } }