Browse Source

- fix TerrainPatch recognition in terrain compound generation

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8739 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
nor..67 14 years ago
parent
commit
2f45134fd5

+ 10 - 10
engine/src/bullet/com/jme3/bullet/util/CollisionShapeFactory.java

@@ -101,6 +101,16 @@ public class CollisionShapeFactory {
                         trans.getRotation().toRotationMatrix());
             } else if (spatial instanceof Node) {
                 createCompoundShape(realRootNode, (Node) spatial, shape, meshAccurate, dynamic);
+            } else if (spatial instanceof TerrainPatch) {
+                Boolean bool = spatial.getUserData(UserData.JME_PHYSICSIGNORE);
+                if (bool != null && bool.booleanValue()) {
+                    continue; // go to the next child in the loop
+                }
+                TerrainPatch terrain = (TerrainPatch) spatial;
+                Transform trans = getTransform(spatial, realRootNode);
+                shape.addChildShape(new HeightfieldCollisionShape(terrain.getHeightMap(), terrain.getLocalScale()),
+                        trans.getTranslation(),
+                        trans.getRotation().toRotationMatrix());
             } else if (spatial instanceof Geometry) {
                 Boolean bool = spatial.getUserData(UserData.JME_PHYSICSIGNORE);
                 if (bool != null && bool.booleanValue()) {
@@ -123,16 +133,6 @@ public class CollisionShapeFactory {
                             trans.getTranslation(),
                             trans.getRotation().toRotationMatrix());
                 }
-            } else if (spatial instanceof TerrainPatch) {
-                Boolean bool = spatial.getUserData(UserData.JME_PHYSICSIGNORE);
-                if (bool != null && bool.booleanValue()) {
-                    continue; // go to the next child in the loop
-                }
-                TerrainPatch terrain = (TerrainPatch) spatial;
-                Transform trans = getTransform(spatial, realRootNode);
-                shape.addChildShape(new HeightfieldCollisionShape(terrain.getHeightMap(), terrain.getLocalScale()),
-                        trans.getTranslation(),
-                        trans.getRotation().toRotationMatrix());
             }
         }
         return shape;

+ 10 - 10
engine/src/jbullet/com/jme3/bullet/util/CollisionShapeFactory.java

@@ -101,6 +101,16 @@ public class CollisionShapeFactory {
                         trans.getRotation().toRotationMatrix());
             } else if (spatial instanceof Node) {
                 createCompoundShape(realRootNode, (Node) spatial, shape, meshAccurate, dynamic);
+            } else if (spatial instanceof TerrainPatch) {
+                Boolean bool = spatial.getUserData(UserData.JME_PHYSICSIGNORE);
+                if (bool != null && bool.booleanValue()) {
+                    continue; // go to the next child in the loop
+                }
+                TerrainPatch terrain = (TerrainPatch) spatial;
+                Transform trans = getTransform(spatial, realRootNode);
+                shape.addChildShape(new HeightfieldCollisionShape(terrain.getHeightMap(), terrain.getLocalScale()),
+                        trans.getTranslation(),
+                        trans.getRotation().toRotationMatrix());
             } else if (spatial instanceof Geometry) {
                 Boolean bool = spatial.getUserData(UserData.JME_PHYSICSIGNORE);
                 if (bool != null && bool.booleanValue()) {
@@ -123,16 +133,6 @@ public class CollisionShapeFactory {
                             trans.getTranslation(),
                             trans.getRotation().toRotationMatrix());
                 }
-            } else if (spatial instanceof TerrainPatch) {
-                Boolean bool = spatial.getUserData(UserData.JME_PHYSICSIGNORE);
-                if (bool != null && bool.booleanValue()) {
-                    continue; // go to the next child in the loop
-                }
-                TerrainPatch terrain = (TerrainPatch) spatial;
-                Transform trans = getTransform(spatial, realRootNode);
-                shape.addChildShape(new HeightfieldCollisionShape(terrain.getHeightMap(), terrain.getLocalScale()),
-                        trans.getTranslation(),
-                        trans.getRotation().toRotationMatrix());
             }
         }
         return shape;