diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSShapes.cs')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSShapes.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapes.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapes.cs index 48f1394..81edc12 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSShapes.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapes.cs | |||
@@ -578,7 +578,6 @@ public class BSShapeHull : BSShape | |||
578 | PrimitiveBaseShape pbs, OMV.Vector3 size, float lod) | 578 | PrimitiveBaseShape pbs, OMV.Vector3 size, float lod) |
579 | { | 579 | { |
580 | BulletShape newShape = new BulletShape(); | 580 | BulletShape newShape = new BulletShape(); |
581 | newShape.shapeKey = newHullKey; | ||
582 | 581 | ||
583 | IMesh meshData = null; | 582 | IMesh meshData = null; |
584 | List<List<OMV.Vector3>> allHulls = null; | 583 | List<List<OMV.Vector3>> allHulls = null; |
@@ -782,6 +781,7 @@ public class BSShapeHull : BSShape | |||
782 | // create the hull data structure in Bullet | 781 | // create the hull data structure in Bullet |
783 | newShape = physicsScene.PE.CreateHullShape(physicsScene.World, hullCount, convHulls); | 782 | newShape = physicsScene.PE.CreateHullShape(physicsScene.World, hullCount, convHulls); |
784 | } | 783 | } |
784 | newShape.shapeKey = newHullKey; | ||
785 | return newShape; | 785 | return newShape; |
786 | } | 786 | } |
787 | // Callback from convex hull creater with a newly created hull. | 787 | // Callback from convex hull creater with a newly created hull. |
@@ -906,6 +906,7 @@ public class BSShapeCompound : BSShape | |||
906 | } | 906 | } |
907 | else | 907 | else |
908 | { | 908 | { |
909 | // Didn't find it in the lists of specific types. It could be compound. | ||
909 | if (physicsScene.PE.IsCompound(pShape)) | 910 | if (physicsScene.PE.IsCompound(pShape)) |
910 | { | 911 | { |
911 | BSShapeCompound recursiveCompound = new BSShapeCompound(pShape); | 912 | BSShapeCompound recursiveCompound = new BSShapeCompound(pShape); |
@@ -913,6 +914,7 @@ public class BSShapeCompound : BSShape | |||
913 | } | 914 | } |
914 | else | 915 | else |
915 | { | 916 | { |
917 | // If none of the above, maybe it is a simple native shape. | ||
916 | if (physicsScene.PE.IsNativeShape(pShape)) | 918 | if (physicsScene.PE.IsNativeShape(pShape)) |
917 | { | 919 | { |
918 | BSShapeNative nativeShape = new BSShapeNative(pShape); | 920 | BSShapeNative nativeShape = new BSShapeNative(pShape); |
@@ -1052,6 +1054,7 @@ public class BSShapeGImpact : BSShape | |||
1052 | 1054 | ||
1053 | // Check to see if mesh was created (might require an asset). | 1055 | // Check to see if mesh was created (might require an asset). |
1054 | newShape = VerifyMeshCreated(physicsScene, newShape, prim); | 1056 | newShape = VerifyMeshCreated(physicsScene, newShape, prim); |
1057 | newShape.shapeKey = newMeshKey; | ||
1055 | if (!newShape.isNativeShape || prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Failed) | 1058 | if (!newShape.isNativeShape || prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Failed) |
1056 | { | 1059 | { |
1057 | // If a mesh was what was created, remember the built shape for later sharing. | 1060 | // If a mesh was what was created, remember the built shape for later sharing. |