aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs1
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs25
2 files changed, 24 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
index 3185aad..9c1b87b 100644
--- a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs
@@ -117,6 +117,7 @@ namespace OpenSim.Region.Physics.OdePlugin
117 // Default, Collide with Other Geometries, spaces, bodies and characters. 117 // Default, Collide with Other Geometries, spaces, bodies and characters.
118 private CollisionCategories m_collisionFlags = (CollisionCategories.Character 118 private CollisionCategories m_collisionFlags = (CollisionCategories.Character
119 | CollisionCategories.Geom 119 | CollisionCategories.Geom
120 | CollisionCategories.VolumeDtc
120 ); 121 );
121 // we do land collisions not ode | CollisionCategories.Land); 122 // we do land collisions not ode | CollisionCategories.Land);
122 public IntPtr Body = IntPtr.Zero; 123 public IntPtr Body = IntPtr.Zero;
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 5b5e23e..8e73eb1 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -9980,7 +9980,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
9980 // return total object mass 9980 // return total object mass
9981 SceneObjectGroup obj = World.GetGroupByPrim(World.Entities[key].LocalId); 9981 SceneObjectGroup obj = World.GetGroupByPrim(World.Entities[key].LocalId);
9982 if (obj != null) 9982 if (obj != null)
9983 return (double)obj.GetMass(); 9983 return obj.GetMass();
9984 9984
9985 // the object is null so the key is for an avatar 9985 // the object is null so the key is for an avatar
9986 ScenePresence avatar = World.GetScenePresence(key); 9986 ScenePresence avatar = World.GetScenePresence(key);
@@ -9990,7 +9990,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
9990 // child agents have a mass of 1.0 9990 // child agents have a mass of 1.0
9991 return 1; 9991 return 1;
9992 else 9992 else
9993 return (double)avatar.PhysicsActor.Mass; 9993 return avatar.GetMass();
9994 } 9994 }
9995 catch (KeyNotFoundException) 9995 catch (KeyNotFoundException)
9996 { 9996 {
@@ -11829,6 +11829,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
11829 11829
11830 return contacts[0]; 11830 return contacts[0];
11831 } 11831 }
11832/*
11833 // not done:
11834 private ContactResult[] testRay2NonPhysicalPhantom(Vector3 rayStart, Vector3 raydir, float raylenght)
11835 {
11836 ContactResult[] contacts = null;
11837 World.ForEachSOG(delegate(SceneObjectGroup group)
11838 {
11839 if (m_host.ParentGroup == group)
11840 return;
11841
11842 if (group.IsAttachment)
11843 return;
11844
11845 if(group.RootPart.PhysActor != null)
11846 return;
11847
11848 contacts = group.RayCastGroupPartsOBBNonPhysicalPhantom(rayStart, raydir, raylenght);
11849 });
11850 return contacts;
11851 }
11852*/
11832 11853
11833 public LSL_List llCastRay(LSL_Vector start, LSL_Vector end, LSL_List options) 11854 public LSL_List llCastRay(LSL_Vector start, LSL_Vector end, LSL_List options)
11834 { 11855 {