Browse Source

Update 'src/app/core/drawers/drawer-aggregator.js'

Fixing midpoint object MiddlePoint: now constructing only one geometric object.
Indentation adjusts: inserted space in all function/method declaration (before open parenthesis) to distinguish it from its use.
Inserted "static static_id" and "this.id" to help debug process.
Inserted some "console.log" to help in debug process.
leo 2 năm trước cách đây
mục cha
commit
32c4bde86a
1 tập tin đã thay đổi với 38 bổ sung28 xóa
  1. 38 28
      src/app/core/drawers/drawer-aggregator.js

+ 38 - 28
src/app/core/drawers/drawer-aggregator.js

@@ -1,5 +1,13 @@
+// iGeom JS
+// LInE: "free software and private data"
+
 export class DrawerAggregator {
-  constructor(drawer, geometricObject, konvaObject, elementClass) {
+
+  static static_id = 1; // help in debug
+
+  constructor (drawer, geometricObject, konvaObject, elementClass) {
+    this.id = DrawerAggregator.static_id++; // DrawerAggregator identification number
+    console.log("drawer-aggregator.js!update(e): this.id=" + this.id); //D
     this.drawer = drawer;
     this.genericObject = geometricObject;
     this.konvaObject = konvaObject;
@@ -7,45 +15,47 @@ export class DrawerAggregator {
     this.visible = true;
     if (elementClass != undefined) this.elementClass = elementClass;
     else {
-      if (
-        konvaObject.attrs != undefined &&
-        konvaObject.attrs.class != undefined
-      )
+      if (konvaObject.attrs != undefined && konvaObject.attrs.class != undefined)
         this.elementClass = konvaObject.attrs.class;
-    }
-  }
-  setGeometricObject(genericObject) {
+        }
+      }
+  setGeometricObject (genericObject) {
     this.genericObject = genericObject;
-  }
-  setDrawer(drawer) {
+    }
+  setDrawer (drawer) {
     this.drawer = drawer;
-  }
-  setKonvaObject(konvaObject) {
+    }
+  setKonvaObject (konvaObject) {
     this.konvaObject = konvaObject;
-  }
-  setElementClass(elementClass) {
+    }
+  setElementClass (elementClass) {
     this.elementClass = elementClass;
-  }
-  addAggregator(aggregator) {
+    }
+  addAggregator (aggregator) {
     if (!this.aggregators.includes(aggregator)) {
       this.aggregators.push(aggregator);
       this.genericObject.dependentsOnThis.push(aggregator.genericObject);
+      }
     }
-  }
-  update(e) {
+
+  update (e) {
+    var tam = this.aggregators?this.aggregators.length:0; //D xxx
+    var aux = JSON.stringify(this.geometricObject) + ", #this.aggregators=" + tam + " : "; //D xxx
+    for (var ii=0; ii<tam; ii++) aux += this.aggregators[ii].id + ","; //D xxx
+    console.log("drawer-aggregator.js!update(e): this.id=" + this.id + ": this.geometricObject=" + aux); //D xxx
     this.drawer.update(this, e);
     this.updateAggregators(this.aggregators, e);
-  }
-  updateAggregators(aggregators, e) {
+      }
+
+  updateAggregators (aggregators, e) {
+    console.log("drawer-aggregator.js!updateAggregators(aggregators,e)"); //D
     aggregators.forEach(aggregator => {
       aggregator.drawer.update(aggregator, e);
-      if (
-        aggregator.aggregators == undefined ||
-        aggregator.aggregators.length == 0
-      ) {
+      if (aggregator.aggregators == undefined || aggregator.aggregators.length == 0) {
         return;
-      }
+        }
       this.updateAggregators(aggregator.aggregators, e);
-    });
-  }
-}
+      });
+    }
+
+  }