aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
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/Physics
parent* Start recording as a statistic the number of times we start blocking repeti... (diff)
downloadopensim-SC-2a988f187ec4c743d6b269fc3a8fe32d84716f65.zip
opensim-SC-2a988f187ec4c743d6b269fc3a8fe32d84716f65.tar.gz
opensim-SC-2a988f187ec4c743d6b269fc3a8fe32d84716f65.tar.bz2
opensim-SC-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/Physics')
-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
8 files changed, 23 insertions, 10 deletions
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 }