diff options
author | Teravus Ovares | 2008-05-14 23:15:25 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-05-14 23:15:25 +0000 |
commit | 2a988f187ec4c743d6b269fc3a8fe32d84716f65 (patch) | |
tree | 728d7e4ef601ed0630b0a7f156c63512966603c0 /OpenSim/Region/Physics | |
parent | * Start recording as a statistic the number of times we start blocking repeti... (diff) | |
download | opensim-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')
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 | ||
28 | using System.Collections.Generic; | 28 | using System.Collections.Generic; |
29 | using Axiom.Math; | 29 | using Axiom.Math; |
30 | using Nini.Config; | ||
30 | using OpenSim.Framework; | 31 | using OpenSim.Framework; |
31 | using OpenSim.Region.Physics.Manager; | 32 | using 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; | |||
34 | using OpenSim.Region.Physics.Manager; | 34 | using OpenSim.Region.Physics.Manager; |
35 | using XnaDevRu.BulletX; | 35 | using XnaDevRu.BulletX; |
36 | using XnaDevRu.BulletX.Dynamics; | 36 | using XnaDevRu.BulletX.Dynamics; |
37 | using Nini.Config; | ||
37 | using AxiomQuaternion = Axiom.Math.Quaternion; | 38 | using 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; | |||
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.IO; | 30 | using System.IO; |
31 | using System.Reflection; | 31 | using System.Reflection; |
32 | using Nini.Config; | ||
32 | using log4net; | 33 | using log4net; |
33 | 34 | ||
34 | namespace OpenSim.Region.Physics.Manager | 35 | namespace 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 @@ | |||
28 | using System.Reflection; | 28 | using System.Reflection; |
29 | using Axiom.Math; | 29 | using Axiom.Math; |
30 | using log4net; | 30 | using log4net; |
31 | using Nini.Config; | ||
31 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
32 | 33 | ||
33 | namespace OpenSim.Region.Physics.Manager | 34 | namespace 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 | ||
28 | using System; | 28 | using System; |
29 | using Axiom.Math; | 29 | using Axiom.Math; |
30 | using Nini.Config; | ||
30 | using NUnit.Framework; | 31 | using NUnit.Framework; |
31 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
32 | using OpenSim.Region.Physics.Manager; | 33 | using 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; | |||
32 | using System.Threading; | 32 | using System.Threading; |
33 | using Axiom.Math; | 33 | using Axiom.Math; |
34 | using log4net; | 34 | using log4net; |
35 | using Nini.Config; | ||
35 | using Ode.NET; | 36 | using Ode.NET; |
36 | using OpenSim.Framework; | 37 | using OpenSim.Framework; |
37 | using OpenSim.Region.Physics.Manager; | 38 | using 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 @@ | |||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using Axiom.Math; | 30 | using Axiom.Math; |
31 | using Nini.Config; | ||
31 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
32 | using OpenSim.Region.Physics.Manager; | 33 | using 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 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using Nini.Config; | ||
30 | using OpenSim.Framework; | 31 | using OpenSim.Framework; |
31 | using OpenSim.Region.Physics.Manager; | 32 | using OpenSim.Region.Physics.Manager; |
32 | using PhysXWrapper; | 33 | using 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 | } |