aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorTeravus Ovares2008-05-14 23:15:25 +0000
committerTeravus Ovares2008-05-14 23:15:25 +0000
commit2a988f187ec4c743d6b269fc3a8fe32d84716f65 (patch)
tree728d7e4ef601ed0630b0a7f156c63512966603c0 /OpenSim/Region
parent* Start recording as a statistic the number of times we start blocking repeti... (diff)
downloadopensim-SC_OLD-2a988f187ec4c743d6b269fc3a8fe32d84716f65.zip
opensim-SC_OLD-2a988f187ec4c743d6b269fc3a8fe32d84716f65.tar.gz
opensim-SC_OLD-2a988f187ec4c743d6b269fc3a8fe32d84716f65.tar.bz2
opensim-SC_OLD-2a988f187ec4c743d6b269fc3a8fe32d84716f65.tar.xz
* Refactored IConfigSource into Physics plug-ins and Scene. We can get rid of some of the parameters we pass to it's constructor now like, 'm_allowPhysicalPrim', 'seeIntoOtherRegions', etc.. so on
* The main purpose of this is to provide configuration options for ODE and other physics plug-ins that are advanced enough to be able to be configured.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs11
-rw-r--r--OpenSim/Region/ClientStack/RegionApplicationBase.cs5
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs6
-rw-r--r--OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs3
-rw-r--r--OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs5
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs5
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsScene.cs5
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODETestClass.cs3
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs6
-rw-r--r--OpenSim/Region/Physics/POSPlugin/POSPlugin.cs3
-rw-r--r--OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs3
11 files changed, 38 insertions, 17 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index e7386ff..a8f4bd4 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -96,6 +96,8 @@ namespace OpenSim
96 96
97 protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>(); 97 protected List<IApplicationPlugin> m_plugins = new List<IApplicationPlugin>();
98 98
99 protected IConfigSource m_finalConfig = null;
100
99 protected IniConfigSource m_config; 101 protected IniConfigSource m_config;
100 102
101 public IniConfigSource ConfigSource 103 public IniConfigSource ConfigSource
@@ -309,10 +311,10 @@ namespace OpenSim
309 311
310 m_dumpAssetsToFile = standaloneConfig.GetBoolean("dump_assets_to_file", false); 312 m_dumpAssetsToFile = standaloneConfig.GetBoolean("dump_assets_to_file", false);
311 } 313 }
312 //if (!m_sandbox) 314
313 //m_SendChildAgentTaskData = false;
314 315
315 m_networkServersInfo.loadFromConfiguration(m_config); 316 m_networkServersInfo.loadFromConfiguration(m_config);
317
316 } 318 }
317 319
318 private ManualResetEvent WorldHasComeToAnEnd = new ManualResetEvent(false); 320 private ManualResetEvent WorldHasComeToAnEnd = new ManualResetEvent(false);
@@ -622,7 +624,8 @@ namespace OpenSim
622 return 624 return
623 new Scene(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, 625 new Scene(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache,
624 storageManager, m_httpServer, 626 storageManager, m_httpServer,
625 m_moduleLoader, m_dumpAssetsToFile, m_physicalPrim, m_see_into_region_from_neighbor); 627 m_moduleLoader, m_dumpAssetsToFile, m_physicalPrim, m_see_into_region_from_neighbor, m_config);
628
626 } 629 }
627 630
628 public void handleRestartRegion(RegionInfo whichRegion) 631 public void handleRestartRegion(RegionInfo whichRegion)
@@ -668,7 +671,7 @@ namespace OpenSim
668 671
669 protected override PhysicsScene GetPhysicsScene() 672 protected override PhysicsScene GetPhysicsScene()
670 { 673 {
671 return GetPhysicsScene(m_physicsEngine, m_meshEngineName); 674 return GetPhysicsScene(m_physicsEngine, m_meshEngineName, m_config);
672 } 675 }
673 676
674 /// <summary> 677 /// <summary>
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
index 5e0e074..b16f74b 100644
--- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs
+++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
@@ -30,6 +30,7 @@ using System.Net;
30using System.Reflection; 30using System.Reflection;
31using libsecondlife; 31using libsecondlife;
32using log4net; 32using log4net;
33using Nini.Config;
33using OpenSim.Framework; 34using OpenSim.Framework;
34using OpenSim.Framework.Communications; 35using OpenSim.Framework.Communications;
35using OpenSim.Framework.Communications.Cache; 36using OpenSim.Framework.Communications.Cache;
@@ -99,12 +100,12 @@ namespace OpenSim.Region.ClientStack
99 protected abstract PhysicsScene GetPhysicsScene(); 100 protected abstract PhysicsScene GetPhysicsScene();
100 protected abstract StorageManager CreateStorageManager(string connectionstring); 101 protected abstract StorageManager CreateStorageManager(string connectionstring);
101 102
102 protected PhysicsScene GetPhysicsScene(string engine, string meshEngine) 103 protected PhysicsScene GetPhysicsScene(string engine, string meshEngine, IConfigSource config)
103 { 104 {
104 PhysicsPluginManager physicsPluginManager; 105 PhysicsPluginManager physicsPluginManager;
105 physicsPluginManager = new PhysicsPluginManager(); 106 physicsPluginManager = new PhysicsPluginManager();
106 physicsPluginManager.LoadPlugins(); 107 physicsPluginManager.LoadPlugins();
107 return physicsPluginManager.GetPhysicsScene(engine, meshEngine); 108 return physicsPluginManager.GetPhysicsScene(engine, meshEngine, config);
108 } 109 }
109 110
110 protected Scene SetupScene(RegionInfo regionInfo, out IClientNetworkServer clientServer) 111 protected Scene SetupScene(RegionInfo regionInfo, out IClientNetworkServer clientServer)
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 4188deb..5b93ef9 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -43,6 +43,7 @@ using OpenSim.Region.Environment.Interfaces;
43using OpenSim.Region.Environment.Modules.World.Terrain; 43using OpenSim.Region.Environment.Modules.World.Terrain;
44using OpenSim.Region.Environment.Scenes.Scripting; 44using OpenSim.Region.Environment.Scenes.Scripting;
45using OpenSim.Region.Physics.Manager; 45using OpenSim.Region.Physics.Manager;
46using Nini.Config;
46using Caps=OpenSim.Framework.Communications.Capabilities.Caps; 47using Caps=OpenSim.Framework.Communications.Capabilities.Caps;
47using Image=System.Drawing.Image; 48using Image=System.Drawing.Image;
48using Timer=System.Timers.Timer; 49using Timer=System.Timers.Timer;
@@ -115,6 +116,7 @@ namespace OpenSim.Region.Environment.Scenes
115 protected IWorldComm m_worldCommModule; 116 protected IWorldComm m_worldCommModule;
116 protected IAvatarFactory m_AvatarFactory; 117 protected IAvatarFactory m_AvatarFactory;
117 protected IScenePermissions m_permissions; 118 protected IScenePermissions m_permissions;
119 protected IConfigSource m_config;
118 120
119 // Central Update Loop 121 // Central Update Loop
120 122
@@ -134,6 +136,7 @@ namespace OpenSim.Region.Environment.Scenes
134 private int m_update_backup = 200; 136 private int m_update_backup = 200;
135 private int m_update_terrain = 50; 137 private int m_update_terrain = 50;
136 private int m_update_land = 1; 138 private int m_update_land = 1;
139
137 140
138 private int frameMS = 0; 141 private int frameMS = 0;
139 private int physicsMS2 = 0; 142 private int physicsMS2 = 0;
@@ -223,8 +226,9 @@ namespace OpenSim.Region.Environment.Scenes
223 public Scene(RegionInfo regInfo, AgentCircuitManager authen, 226 public Scene(RegionInfo regInfo, AgentCircuitManager authen,
224 CommunicationsManager commsMan, SceneCommunicationService sceneGridService, 227 CommunicationsManager commsMan, SceneCommunicationService sceneGridService,
225 AssetCache assetCach, StorageManager storeManager, BaseHttpServer httpServer, 228 AssetCache assetCach, StorageManager storeManager, BaseHttpServer httpServer,
226 ModuleLoader moduleLoader, bool dumpAssetsToFile, bool physicalPrim, bool SeeIntoRegionFromNeighbor) 229 ModuleLoader moduleLoader, bool dumpAssetsToFile, bool physicalPrim, bool SeeIntoRegionFromNeighbor, IConfigSource config)
227 { 230 {
231 m_config = config;
228 updateLock = new Mutex(false); 232 updateLock = new Mutex(false);
229 m_moduleLoader = moduleLoader; 233 m_moduleLoader = moduleLoader;
230 m_authenticateHandler = authen; 234 m_authenticateHandler = authen;
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
index eecd115..d7c4013 100644
--- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
+++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
@@ -27,6 +27,7 @@
27 27
28using System.Collections.Generic; 28using System.Collections.Generic;
29using Axiom.Math; 29using Axiom.Math;
30using Nini.Config;
30using OpenSim.Framework; 31using OpenSim.Framework;
31using OpenSim.Region.Physics.Manager; 32using OpenSim.Region.Physics.Manager;
32 33
@@ -70,7 +71,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
70 { 71 {
71 } 72 }
72 73
73 public override void Initialise(IMesher meshmerizer) 74 public override void Initialise(IMesher meshmerizer, IConfigSource config)
74 { 75 {
75 // Does nothing right now 76 // Does nothing right now
76 } 77 }
diff --git a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
index ddfb5a4..9415fff 100644
--- a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
+++ b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs
@@ -34,6 +34,7 @@ using OpenSim.Framework;
34using OpenSim.Region.Physics.Manager; 34using OpenSim.Region.Physics.Manager;
35using XnaDevRu.BulletX; 35using XnaDevRu.BulletX;
36using XnaDevRu.BulletX.Dynamics; 36using XnaDevRu.BulletX.Dynamics;
37using Nini.Config;
37using AxiomQuaternion = Axiom.Math.Quaternion; 38using AxiomQuaternion = Axiom.Math.Quaternion;
38 39
39#endregion 40#endregion
@@ -483,6 +484,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin
483 internal Dictionary<RigidBody, BulletXPrim> _prims = new Dictionary<RigidBody, BulletXPrim>(); 484 internal Dictionary<RigidBody, BulletXPrim> _prims = new Dictionary<RigidBody, BulletXPrim>();
484 485
485 public IMesher mesher; 486 public IMesher mesher;
487 private IConfigSource m_config;
486 488
487 489
488 public static float Gravity 490 public static float Gravity
@@ -536,9 +538,10 @@ namespace OpenSim.Region.Physics.BulletXPlugin
536 //this._heightmap = new float[65536]; 538 //this._heightmap = new float[65536];
537 } 539 }
538 540
539 public override void Initialise(IMesher meshmerizer) 541 public override void Initialise(IMesher meshmerizer, IConfigSource config)
540 { 542 {
541 mesher = meshmerizer; 543 mesher = meshmerizer;
544 m_config = config;
542 } 545 }
543 546
544 public override void Dispose() 547 public override void Dispose()
diff --git a/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs b/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs
index e4ff725..b8ca180 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsPluginManager.cs
@@ -29,6 +29,7 @@ using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.IO; 30using System.IO;
31using System.Reflection; 31using System.Reflection;
32using Nini.Config;
32using log4net; 33using log4net;
33 34
34namespace OpenSim.Region.Physics.Manager 35namespace OpenSim.Region.Physics.Manager
@@ -47,7 +48,7 @@ namespace OpenSim.Region.Physics.Manager
47 { 48 {
48 } 49 }
49 50
50 public PhysicsScene GetPhysicsScene(string physEngineName, string meshEngineName) 51 public PhysicsScene GetPhysicsScene(string physEngineName, string meshEngineName, IConfigSource config)
51 { 52 {
52 if (String.IsNullOrEmpty(physEngineName)) 53 if (String.IsNullOrEmpty(physEngineName))
53 { 54 {
@@ -75,7 +76,7 @@ namespace OpenSim.Region.Physics.Manager
75 { 76 {
76 m_log.Info("[PHYSICS]: creating " + physEngineName); 77 m_log.Info("[PHYSICS]: creating " + physEngineName);
77 PhysicsScene result = _PhysPlugins[physEngineName].GetScene(); 78 PhysicsScene result = _PhysPlugins[physEngineName].GetScene();
78 result.Initialise(meshEngine); 79 result.Initialise(meshEngine, config);
79 return result; 80 return result;
80 } 81 }
81 else 82 else
diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs
index 4c509b7..de93f22 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs
@@ -28,6 +28,7 @@
28using System.Reflection; 28using System.Reflection;
29using Axiom.Math; 29using Axiom.Math;
30using log4net; 30using log4net;
31using Nini.Config;
31using OpenSim.Framework; 32using OpenSim.Framework;
32 33
33namespace OpenSim.Region.Physics.Manager 34namespace OpenSim.Region.Physics.Manager
@@ -58,7 +59,7 @@ namespace OpenSim.Region.Physics.Manager
58 } 59 }
59 60
60 61
61 public abstract void Initialise(IMesher meshmerizer); 62 public abstract void Initialise(IMesher meshmerizer, IConfigSource config);
62 63
63 public abstract PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size); 64 public abstract PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size);
64 65
@@ -92,7 +93,7 @@ namespace OpenSim.Region.Physics.Manager
92 private static int m_workIndicator; 93 private static int m_workIndicator;
93 94
94 95
95 public override void Initialise(IMesher meshmerizer) 96 public override void Initialise(IMesher meshmerizer, IConfigSource config)
96 { 97 {
97 // Does nothing right now 98 // Does nothing right now
98 } 99 }
diff --git a/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs b/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs
index 94d98cb..bdc5b00 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODETestClass.cs
@@ -27,6 +27,7 @@
27 27
28using System; 28using System;
29using Axiom.Math; 29using Axiom.Math;
30using Nini.Config;
30using NUnit.Framework; 31using NUnit.Framework;
31using OpenSim.Framework; 32using OpenSim.Framework;
32using OpenSim.Region.Physics.Manager; 33using OpenSim.Region.Physics.Manager;
@@ -50,7 +51,7 @@ namespace OpenSim.Region.Physics.OdePlugin
50 // Getting Physics Scene 51 // Getting Physics Scene
51 ps = cbt.GetScene(); 52 ps = cbt.GetScene();
52 // Initializing Physics Scene. 53 // Initializing Physics Scene.
53 ps.Initialise(imp.GetMesher()); 54 ps.Initialise(imp.GetMesher(),null);
54 float[] _heightmap = new float[256 * 256]; 55 float[] _heightmap = new float[256 * 256];
55 for (int i = 0; i<(256*256);i++) 56 for (int i = 0; i<(256*256);i++)
56 { 57 {
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index c2a1c8e..da72092 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -32,6 +32,7 @@ using System.Runtime.InteropServices;
32using System.Threading; 32using System.Threading;
33using Axiom.Math; 33using Axiom.Math;
34using log4net; 34using log4net;
35using Nini.Config;
35using Ode.NET; 36using Ode.NET;
36using OpenSim.Framework; 37using OpenSim.Framework;
37using OpenSim.Region.Physics.Manager; 38using OpenSim.Region.Physics.Manager;
@@ -193,6 +194,8 @@ namespace OpenSim.Region.Physics.OdePlugin
193 194
194 public IMesher mesher; 195 public IMesher mesher;
195 196
197 private IConfigSource m_config;
198
196 199
197 /// <summary> 200 /// <summary>
198 /// Initiailizes the scene 201 /// Initiailizes the scene
@@ -286,9 +289,10 @@ namespace OpenSim.Region.Physics.OdePlugin
286 289
287 290
288 // Initialize the mesh plugin 291 // Initialize the mesh plugin
289 public override void Initialise(IMesher meshmerizer) 292 public override void Initialise(IMesher meshmerizer, IConfigSource config)
290 { 293 {
291 mesher = meshmerizer; 294 mesher = meshmerizer;
295 m_config = config;
292 } 296 }
293 297
294 internal void waitForSpaceUnlock(IntPtr space) 298 internal void waitForSpaceUnlock(IntPtr space)
diff --git a/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs b/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs
index 96e67d1..9ca1b23 100644
--- a/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs
+++ b/OpenSim/Region/Physics/POSPlugin/POSPlugin.cs
@@ -28,6 +28,7 @@
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using Axiom.Math; 30using Axiom.Math;
31using Nini.Config;
31using OpenSim.Framework; 32using OpenSim.Framework;
32using OpenSim.Region.Physics.Manager; 33using OpenSim.Region.Physics.Manager;
33 34
@@ -73,7 +74,7 @@ namespace OpenSim.Region.Physics.POSPlugin
73 { 74 {
74 } 75 }
75 76
76 public override void Initialise(IMesher meshmerizer) 77 public override void Initialise(IMesher meshmerizer, IConfigSource config)
77 { 78 {
78 // Does nothing right now 79 // Does nothing right now
79 } 80 }
diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs
index 712d10e..175d749 100644
--- a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs
+++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs
@@ -27,6 +27,7 @@
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using Nini.Config;
30using OpenSim.Framework; 31using OpenSim.Framework;
31using OpenSim.Region.Physics.Manager; 32using OpenSim.Region.Physics.Manager;
32using PhysXWrapper; 33using PhysXWrapper;
@@ -84,7 +85,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin
84 scene = mySdk.CreateScene(); 85 scene = mySdk.CreateScene();
85 } 86 }
86 87
87 public override void Initialise(IMesher meshmerizer) 88 public override void Initialise(IMesher meshmerizer, IConfigSource config)
88 { 89 {
89 // Does nothing right now 90 // Does nothing right now
90 } 91 }