Quellcode durchsuchen

Merge pull request #495 from jbousquie/feature.Mesh.freezeNormals

added freezeNormals to createRibbon
David Catuhe vor 10 Jahren
Ursprung
Commit
0b23edbc94
1 geänderte Dateien mit 15 neuen und 1 gelöschten Zeilen
  1. 15 1
      Babylon/Mesh/babylon.mesh.ts

+ 15 - 1
Babylon/Mesh/babylon.mesh.ts

@@ -67,6 +67,7 @@
         public _shouldGenerateFlatShading: boolean;
         private _preActivateId: number;
         private _sideOrientation: number = Mesh._DEFAULTSIDE;
+        private _areNormalsFrozen: boolean = false;
 
         /**
          * @constructor
@@ -317,7 +318,19 @@
         public set sideOrientation(sideO: number) {
             this._sideOrientation = sideO;
         }
+        
+        public get areNormalsFrozen(): boolean {
+            return this._areNormalsFrozen;
+        }
+        
+        public freezeNormals(): void {
+            this._areNormalsFrozen = true;
+        }
 
+        public unfreezeNormals(): void {
+            this._areNormalsFrozen = false;
+        }
+        
         // Methods  
         public _preActivate(): void {
             var sceneRenderId = this.getScene().getRenderId();
@@ -1214,7 +1227,8 @@
                 };
                 var sideOrientation = ribbonInstance.sideOrientation;
                 var positionFunction = positionsOfRibbon(pathArray, sideOrientation);
-                ribbonInstance.updateMeshPositions(positionFunction, true);
+                var computeNormals = !(ribbonInstance.areNormalsFrozen);
+                ribbonInstance.updateMeshPositions(positionFunction, computeNormals);
 
                 return ribbonInstance;