Quellcode durchsuchen

Merge pull request #7712 from bghgary/mesh-clone

Add more exclusions when deep copying mesh
David Catuhe vor 5 Jahren
Ursprung
Commit
dcea8bd0de
2 geänderte Dateien mit 10 neuen und 8 gelöschten Zeilen
  1. 7 7
      src/Meshes/mesh.ts
  2. 3 1
      src/Misc/deepCopier.ts

+ 7 - 7
src/Meshes/mesh.ts

@@ -407,13 +407,13 @@ export class Mesh extends AbstractMesh implements IGetSetVerticesData {
             }
 
             // Deep copy
-            DeepCopier.DeepCopy(source, this, ["name", "material", "skeleton", "instances", "parent", "uniqueId",
-                "source", "metadata", "hasLODLevels", "geometry", "isBlocked", "areNormalsFrozen",
-                "onBeforeDrawObservable", "onBeforeRenderObservable", "onAfterRenderObservable", "onBeforeDraw",
-                "onAfterWorldMatrixUpdateObservable", "onCollideObservable", "onCollisionPositionChangeObservable", "onRebuildObservable",
-                "onDisposeObservable", "lightSources", "morphTargetManager"
-            ],
-                ["_poseMatrix"]);
+            DeepCopier.DeepCopy(source, this, [
+                "name", "material", "skeleton", "instances", "parent", "uniqueId", "source", "metadata", "morphTargetManager",
+                "hasInstances", "source", "worldMatrixInstancedBuffer", "hasLODLevels", "geometry", "isBlocked", "areNormalsFrozen",
+                "facetNb", "isFacetDataEnabled", "lightSources", "useBones", "isAnInstance", "collider", "edgesRenderer", "forward",
+                "up", "right", "absolutePosition", "absoluteScaling", "absoluteRotationQuaternion", "isWorldMatrixFrozen",
+                "nonUniformScaling", "behaviors", "worldMatrixFromCache"
+            ], ["_poseMatrix"]);
 
             // Source mesh
             this._internalMeshDataInfo._source = source;

+ 3 - 1
src/Misc/deepCopier.ts

@@ -1,4 +1,5 @@
 import { StringTools } from './stringTools';
+import { Logger } from './logger';
 
 var cloneValue = (source: any, destinationObject: any) => {
     if (!source) {
@@ -76,7 +77,8 @@ export class DeepCopier {
                 }
             }
             catch (e) {
-                // Just ignore error (it could be because of a read-only property)
+                // Log a warning (it could be because of a read-only property)
+                Logger.Warn(e.message);
             }
         }
     }