2 using System.Reflection;
6 using OpenSim.Framework;
7 using OpenSim.Region.Framework.Scenes;
8 using OpenSim.Region.Framework.Interfaces;
10 namespace OpenSim.
Region.PhysicsModule.ODE
12 [Extension(Path =
"/OpenSim/RegionModules", NodeName =
"RegionModule", Id =
"ODEPhysicsScene")]
15 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
17 private bool m_Enabled =
false;
18 private IConfigSource m_config;
21 #region INonSharedRegionModule
25 get {
return "OpenDynamicsEngine"; }
28 public Type ReplaceableInterface
35 IConfig config = source.Configs[
"Startup"];
38 string physics = config.GetString(
"physics", string.Empty);
57 Util.LoadArchSpecificWindowsDll(
"ode.dll");
63 m_scene =
new OdeScene(scene, m_config, Name);
68 if (!m_Enabled || m_scene == null)
77 if (!m_Enabled || m_scene == null)
80 m_scene.RegionLoaded();
void RegionLoaded(Scene scene)
This will be called once for every scene loaded. In a shared module this will be multiple times in on...
void Close()
This is the inverse to Initialise. After a Close(), this instance won't be usable anymore...
void AddRegion(Scene scene)
This is called whenever a Scene is added. For shared modules, this can happen several times...
void Initialise(IConfigSource source)
This is called to initialize the region module. For shared modules, this is called exactly once...
void RemoveRegion(Scene scene)
This is called whenever a Scene is removed. For shared modules, this can happen several times...