From edd50f2e8ea384e1fe9f9dc0ed5903477cb383f3 Mon Sep 17 00:00:00 2001 From: MW Date: Thu, 23 Aug 2007 11:38:50 +0000 Subject: Implemented Resize Method in OdePrim. attached the links to that from SceneObject, so now resizing works (as much as resizing currently works in opensim, fixing resizing in general is on my todo list for today). Rotation of a root prim also now updates the physics engine. So think there really is only deleteprim left, then it should be usable (Different shapes (other than boxes that it currently uses) can wait a little bit longer). [of course there are still the other issues of ODE not really working when there is more than one region in a instance of opensim]. --- OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/Physics') diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index ae46feb..f168340 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs @@ -148,7 +148,7 @@ namespace OpenSim.Region.Physics.OdePlugin public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size, Quaternion rotation) { - Console.WriteLine("+++++++++++++++++++++++++++++++++AddPrim pos: " + position + " size: " + size + " quat: " + rotation); + //Console.WriteLine("+++++++++++++++++++++++++++++++++AddPrim pos: " + position + " size: " + size + " quat: " + rotation); PhysicsVector pos = new PhysicsVector(); pos.X = position.X; pos.Y = position.Y; @@ -437,7 +437,7 @@ namespace OpenSim.Region.Physics.OdePlugin } set { - Console.WriteLine("+++++++++++++++++++++++++++++++++++++++++++ setting pos: " + value); + //Console.WriteLine("+++++++++++++++++++++++++++++++++++++++++++ setting pos: " + value); _position = value; Monitor.Enter(typeof(OdeScene)); d.GeomSetPosition(prim_geom, _position.X, _position.Y, _position.Z); @@ -454,8 +454,11 @@ namespace OpenSim.Region.Physics.OdePlugin } set { - Console.WriteLine("+++++++++++++++++++++++++++++++++++++++++++ setting size: " + value); + //Console.WriteLine("+++++++++++++++++++++++++++++++++++++++++++ setting size: " + value); _size = value; + Monitor.Enter(typeof(OdeScene)); + d.GeomBoxSetLengths(prim_geom, _size.X, _size.Y, _size.Z); + Monitor.Exit(typeof(OdeScene)); } } @@ -490,6 +493,7 @@ namespace OpenSim.Region.Physics.OdePlugin } set { + //Console.WriteLine("+++++++++++++++++++++++++++++++++++++++++++ setting Orientation"); _orientation = value; Monitor.Enter(typeof(OdeScene)); d.Quaternion myrot = new d.Quaternion(); -- cgit v1.1