Jelajahi Sumber

bug fix : capped extruded shape can be now morphed

jbousquie 10 tahun lalu
induk
melakukan
44d5528474
1 mengubah file dengan 5 tambahan dan 5 penghapusan
  1. 5 5
      src/Mesh/babylon.mesh.ts

+ 5 - 5
src/Mesh/babylon.mesh.ts

@@ -1654,7 +1654,7 @@
                 var returnRotation: { (i: number, distance: number): number; } = (i, distance) => { return rotation; };
                 var rotate: { (i: number, distance: number): number; } = custom ? rotateFunction : returnRotation;
                 var scl: { (i: number, distance: number): number; } = custom ? scaleFunction : returnScale;
-                var index = 0;
+                var index = (cap === Mesh.NO_CAP || cap === Mesh.CAP_END) ? 0 : 1;
 
                 for (var i = 0; i < curve.length; i++) {
                     var shapePath = new Array<Vector3>();
@@ -1688,14 +1688,14 @@
                     case Mesh.NO_CAP:
                         break;
                     case Mesh.CAP_START:
-                        shapePaths.unshift(capPath(shapePaths[0]));
+                        shapePaths[0] = capPath(shapePaths[1]);
                         break;
                     case Mesh.CAP_END:
-                        shapePaths.push(capPath(shapePaths[shapePaths.length - 1]));
+                        shapePaths[index] = capPath(shapePaths[shapePaths.length - 2]);
                         break;
                     case Mesh.CAP_ALL:
-                        shapePaths.unshift(capPath(shapePaths[0]));
-                        shapePaths.push(capPath(shapePaths[shapePaths.length - 1]));
+                        shapePaths[0] = capPath(shapePaths[1]);
+                        shapePaths[index] = capPath(shapePaths[shapePaths.length - 2]);
                         break;
                     default:
                         break;