diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Application/OpenSimBase.cs | 9 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/RegionApplicationBase.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 6 | ||||
-rw-r--r-- | OpenSim/Tests/Common/Helpers/SceneHelpers.cs | 14 | ||||
-rw-r--r-- | OpenSim/Tests/Common/Mock/TestScene.cs | 5 |
5 files changed, 24 insertions, 18 deletions
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index f663c77..e8cf7cc 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -767,7 +767,6 @@ namespace OpenSim | |||
767 | clientServer = clientNetworkServers; | 767 | clientServer = clientNetworkServers; |
768 | scene.LoadWorldMap(); | 768 | scene.LoadWorldMap(); |
769 | 769 | ||
770 | scene.PhysicsScene = GetPhysicsScene(scene.RegionInfo.RegionName); | ||
771 | scene.PhysicsScene.RequestAssetMethod = scene.PhysicsRequestAsset; | 770 | scene.PhysicsScene.RequestAssetMethod = scene.PhysicsRequestAsset; |
772 | scene.PhysicsScene.SetTerrain(scene.Heightmap.GetFloatsSerialised()); | 771 | scene.PhysicsScene.SetTerrain(scene.Heightmap.GetFloatsSerialised()); |
773 | scene.PhysicsScene.SetWaterLevel((float) regionInfo.RegionSettings.WaterHeight); | 772 | scene.PhysicsScene.SetWaterLevel((float) regionInfo.RegionSettings.WaterHeight); |
@@ -783,10 +782,12 @@ namespace OpenSim | |||
783 | protected override Scene CreateScene(RegionInfo regionInfo, ISimulationDataService simDataService, | 782 | protected override Scene CreateScene(RegionInfo regionInfo, ISimulationDataService simDataService, |
784 | IEstateDataService estateDataService, AgentCircuitManager circuitManager) | 783 | IEstateDataService estateDataService, AgentCircuitManager circuitManager) |
785 | { | 784 | { |
785 | Vector3 regionExtent = new Vector3(regionInfo.RegionSizeX, regionInfo.RegionSizeY, regionInfo.RegionSizeZ); | ||
786 | PhysicsScene physicsScene = GetPhysicsScene(regionInfo.RegionName, regionExtent); | ||
786 | SceneCommunicationService sceneGridService = new SceneCommunicationService(); | 787 | SceneCommunicationService sceneGridService = new SceneCommunicationService(); |
787 | 788 | ||
788 | return new Scene( | 789 | return new Scene( |
789 | regionInfo, circuitManager, sceneGridService, | 790 | regionInfo, circuitManager, physicsScene, sceneGridService, |
790 | simDataService, estateDataService, | 791 | simDataService, estateDataService, |
791 | Config, m_version); | 792 | Config, m_version); |
792 | } | 793 | } |
@@ -829,10 +830,10 @@ namespace OpenSim | |||
829 | 830 | ||
830 | # region Setup methods | 831 | # region Setup methods |
831 | 832 | ||
832 | protected override PhysicsScene GetPhysicsScene(string osSceneIdentifier) | 833 | protected override PhysicsScene GetPhysicsScene(string osSceneIdentifier, Vector3 regionExtent) |
833 | { | 834 | { |
834 | return GetPhysicsScene( | 835 | return GetPhysicsScene( |
835 | m_configSettings.PhysicsEngine, m_configSettings.MeshEngineName, Config, osSceneIdentifier); | 836 | m_configSettings.PhysicsEngine, m_configSettings.MeshEngineName, Config, osSceneIdentifier, regionExtent); |
836 | } | 837 | } |
837 | 838 | ||
838 | /// <summary> | 839 | /// <summary> |
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs index 287c278..982646e 100644 --- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs +++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs | |||
@@ -69,7 +69,7 @@ namespace OpenSim.Region.ClientStack | |||
69 | /// The name of the OpenSim scene this physics scene is serving. This will be used in log messages. | 69 | /// The name of the OpenSim scene this physics scene is serving. This will be used in log messages. |
70 | /// </param> | 70 | /// </param> |
71 | /// <returns></returns> | 71 | /// <returns></returns> |
72 | protected abstract PhysicsScene GetPhysicsScene(string osSceneIdentifier); | 72 | protected abstract PhysicsScene GetPhysicsScene(string osSceneIdentifier, Vector3 regionExtent); |
73 | 73 | ||
74 | protected abstract ClientStackManager CreateClientStackManager(); | 74 | protected abstract ClientStackManager CreateClientStackManager(); |
75 | protected abstract Scene CreateScene(RegionInfo regionInfo, ISimulationDataService simDataService, IEstateDataService estateDataService, AgentCircuitManager circuitManager); | 75 | protected abstract Scene CreateScene(RegionInfo regionInfo, ISimulationDataService simDataService, IEstateDataService estateDataService, AgentCircuitManager circuitManager); |
@@ -135,13 +135,13 @@ namespace OpenSim.Region.ClientStack | |||
135 | /// </param> | 135 | /// </param> |
136 | /// <returns></returns> | 136 | /// <returns></returns> |
137 | protected PhysicsScene GetPhysicsScene( | 137 | protected PhysicsScene GetPhysicsScene( |
138 | string engine, string meshEngine, IConfigSource config, string osSceneIdentifier) | 138 | string engine, string meshEngine, IConfigSource config, string osSceneIdentifier, Vector3 regionExtent) |
139 | { | 139 | { |
140 | PhysicsPluginManager physicsPluginManager; | 140 | PhysicsPluginManager physicsPluginManager; |
141 | physicsPluginManager = new PhysicsPluginManager(); | 141 | physicsPluginManager = new PhysicsPluginManager(); |
142 | physicsPluginManager.LoadPluginsFromAssemblies("Physics"); | 142 | physicsPluginManager.LoadPluginsFromAssemblies("Physics"); |
143 | 143 | ||
144 | return physicsPluginManager.GetPhysicsScene(engine, meshEngine, config, osSceneIdentifier); | 144 | return physicsPluginManager.GetPhysicsScene(engine, meshEngine, config, osSceneIdentifier, regionExtent); |
145 | } | 145 | } |
146 | } | 146 | } |
147 | } | 147 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 46c9048..fa5d021 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -760,7 +760,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
760 | 760 | ||
761 | #region Constructors | 761 | #region Constructors |
762 | 762 | ||
763 | public Scene(RegionInfo regInfo, AgentCircuitManager authen, | 763 | public Scene(RegionInfo regInfo, AgentCircuitManager authen, PhysicsScene physicsScene, |
764 | SceneCommunicationService sceneGridService, | 764 | SceneCommunicationService sceneGridService, |
765 | ISimulationDataService simDataService, IEstateDataService estateDataService, | 765 | ISimulationDataService simDataService, IEstateDataService estateDataService, |
766 | IConfigSource config, string simulatorVersion) | 766 | IConfigSource config, string simulatorVersion) |
@@ -840,6 +840,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
840 | new EventManager.LandObjectRemoved(simDataService.RemoveLandObject); | 840 | new EventManager.LandObjectRemoved(simDataService.RemoveLandObject); |
841 | 841 | ||
842 | m_sceneGraph = new SceneGraph(this); | 842 | m_sceneGraph = new SceneGraph(this); |
843 | m_sceneGraph.PhysicsScene = physicsScene; | ||
843 | 844 | ||
844 | // If the scene graph has an Unrecoverable error, restart this sim. | 845 | // If the scene graph has an Unrecoverable error, restart this sim. |
845 | // Currently the only thing that causes it to happen is two kinds of specific | 846 | // Currently the only thing that causes it to happen is two kinds of specific |
@@ -1075,7 +1076,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
1075 | { | 1076 | { |
1076 | PhysicalPrims = true; | 1077 | PhysicalPrims = true; |
1077 | CollidablePrims = true; | 1078 | CollidablePrims = true; |
1078 | PhysicsEnabled = true; | 1079 | // this is done above acording to config |
1080 | // PhysicsEnabled = true; | ||
1079 | 1081 | ||
1080 | PeriodicBackup = true; | 1082 | PeriodicBackup = true; |
1081 | UseBackup = true; | 1083 | UseBackup = true; |
diff --git a/OpenSim/Tests/Common/Helpers/SceneHelpers.cs b/OpenSim/Tests/Common/Helpers/SceneHelpers.cs index 4cdfe98..d36e42e 100644 --- a/OpenSim/Tests/Common/Helpers/SceneHelpers.cs +++ b/OpenSim/Tests/Common/Helpers/SceneHelpers.cs | |||
@@ -138,8 +138,15 @@ namespace OpenSim.Tests.Common | |||
138 | 138 | ||
139 | SceneCommunicationService scs = new SceneCommunicationService(); | 139 | SceneCommunicationService scs = new SceneCommunicationService(); |
140 | 140 | ||
141 | PhysicsPluginManager physicsPluginManager = new PhysicsPluginManager(); | ||
142 | physicsPluginManager.LoadPluginsFromAssembly("Physics/OpenSim.Region.Physics.BasicPhysicsPlugin.dll"); | ||
143 | Vector3 regionExtent = new Vector3(regInfo.RegionSizeX, regInfo.RegionSizeY, regInfo.RegionSizeZ); | ||
144 | PhysicsScene physicsScene | ||
145 | = physicsPluginManager.GetPhysicsScene( | ||
146 | "basicphysics", "ZeroMesher", new IniConfigSource(), "test", regionExtent); | ||
147 | |||
141 | TestScene testScene = new TestScene( | 148 | TestScene testScene = new TestScene( |
142 | regInfo, m_acm, scs, m_simDataService, m_estateDataService, configSource, null); | 149 | regInfo, m_acm, physicsScene, scs, m_simDataService, m_estateDataService, configSource, null); |
143 | 150 | ||
144 | INonSharedRegionModule godsModule = new GodsModule(); | 151 | INonSharedRegionModule godsModule = new GodsModule(); |
145 | godsModule.Initialise(new IniConfigSource()); | 152 | godsModule.Initialise(new IniConfigSource()); |
@@ -184,11 +191,6 @@ namespace OpenSim.Tests.Common | |||
184 | testScene.LandChannel = new TestLandChannel(testScene); | 191 | testScene.LandChannel = new TestLandChannel(testScene); |
185 | testScene.LoadWorldMap(); | 192 | testScene.LoadWorldMap(); |
186 | 193 | ||
187 | PhysicsPluginManager physicsPluginManager = new PhysicsPluginManager(); | ||
188 | physicsPluginManager.LoadPluginsFromAssembly("Physics/OpenSim.Region.Physics.BasicPhysicsPlugin.dll"); | ||
189 | testScene.PhysicsScene | ||
190 | = physicsPluginManager.GetPhysicsScene("basicphysics", "ZeroMesher", new IniConfigSource(), "test"); | ||
191 | |||
192 | testScene.RegionInfo.EstateSettings = new EstateSettings(); | 194 | testScene.RegionInfo.EstateSettings = new EstateSettings(); |
193 | testScene.LoginsEnabled = true; | 195 | testScene.LoginsEnabled = true; |
194 | testScene.RegisterRegionWithGrid(); | 196 | testScene.RegisterRegionWithGrid(); |
diff --git a/OpenSim/Tests/Common/Mock/TestScene.cs b/OpenSim/Tests/Common/Mock/TestScene.cs index a7e0dfb..53a311e 100644 --- a/OpenSim/Tests/Common/Mock/TestScene.cs +++ b/OpenSim/Tests/Common/Mock/TestScene.cs | |||
@@ -33,16 +33,17 @@ using OpenSim.Framework.Servers; | |||
33 | using OpenSim.Region.Framework; | 33 | using OpenSim.Region.Framework; |
34 | using OpenSim.Region.Framework.Interfaces; | 34 | using OpenSim.Region.Framework.Interfaces; |
35 | using OpenSim.Region.Framework.Scenes; | 35 | using OpenSim.Region.Framework.Scenes; |
36 | using OpenSim.Region.Physics.Manager; | ||
36 | 37 | ||
37 | namespace OpenSim.Tests.Common.Mock | 38 | namespace OpenSim.Tests.Common.Mock |
38 | { | 39 | { |
39 | public class TestScene : Scene | 40 | public class TestScene : Scene |
40 | { | 41 | { |
41 | public TestScene( | 42 | public TestScene( |
42 | RegionInfo regInfo, AgentCircuitManager authen, | 43 | RegionInfo regInfo, AgentCircuitManager authen, PhysicsScene physicsScene, |
43 | SceneCommunicationService sceneGridService, ISimulationDataService simDataService, IEstateDataService estateDataService, | 44 | SceneCommunicationService sceneGridService, ISimulationDataService simDataService, IEstateDataService estateDataService, |
44 | IConfigSource config, string simulatorVersion) | 45 | IConfigSource config, string simulatorVersion) |
45 | : base(regInfo, authen, sceneGridService, simDataService, estateDataService, | 46 | : base(regInfo, authen, physicsScene, sceneGridService, simDataService, estateDataService, |
46 | config, simulatorVersion) | 47 | config, simulatorVersion) |
47 | { | 48 | { |
48 | } | 49 | } |