1
0
Prechádzať zdrojové kódy

modified superpositions to get only one superposition by mapitem

bach 1 rok pred
rodič
commit
ecc838abbb

+ 5 - 2
src/App.vue

@@ -94,16 +94,19 @@ export default {
           superposition_ids: [],
           clone: false,
         }
-        // loop through superposistions couples
+        // loop through all superposistions couples
         couple_ids.forEach(couple_id => {
           let cids = couple_id.match(/(\d+)-(\d+)/i);
           // console.log('cids', cids);
           if (concernement.id === parseInt(cids[1]) || concernement.id === parseInt(cids[2])) {
             let i = 0;
+            // loop through all superpositions of couple 
             for(let [superposition_id, superposition] of Object.entries(this.allSuperpositions_byid[couple_id])){
               i++;
-              if (i === 1) {
+              if (!mapitem.superposition_ids.length) {
+                // if main map item does not yet have a superposition use it and alter his id (for matter constraints)
                 mapitem.superposition_ids.push(superposition_id)
+                mapitem.id = `${concernement.id}___${superposition_id}`
               }else{
                 let mapitem_superposition = {
                   id: `${concernement.id}___${superposition_id}`,

+ 9 - 5
src/components/ConcernementMapItem.vue

@@ -522,7 +522,9 @@ export default {
       });
 
       // fadein intro
-      this.paper_main_object.opacity = (1 + Math.random())*0.001;
+      if(!this.mapitem.clone){
+        this.paper_main_object.opacity = (1 + Math.random())*0.001;
+      }
 
       // the sub items for one concernement
       this.paper_main_object.addChild(this.setPaperContour());
@@ -2142,10 +2144,12 @@ export default {
       this.paper_main_object.position = this.pos = this.body.position;
 
       // fadein intro
-      if (this.paper_main_object.opacity < 9) {
-        this.paper_main_object.opacity = this.paper_main_object.opacity * 1.04;
-      } else{
-        this.paper_main_object.opacity = 1;
+      if(!this.mapitem.clone){
+        if (this.paper_main_object.opacity < 9) {
+          this.paper_main_object.opacity = this.paper_main_object.opacity * 1.04;
+        } else{
+          this.paper_main_object.opacity = 1;
+        }
       }
 
       this.handlePaperVisibilityOnAfterEnginUpdate()

+ 5 - 5
src/components/MapConcernements.vue

@@ -1139,13 +1139,13 @@ export default {
 
           // console.log('superposition', superposition_id, superposition);
           let mapitemA_id, mapitemB_id;
-          if (i === 1) {
-            mapitemA_id = superposition[0].cid
-            mapitemB_id = superposition[1].cid
-          } else {
+          // if (i === 1) {
+          //   mapitemA_id = superposition[0].cid
+          //   mapitemB_id = superposition[1].cid
+          // } else {
             mapitemA_id = `${superposition[0].cid}___${superposition_id}` 
             mapitemB_id = `${superposition[1].cid}___${superposition_id}` 
-          }  
+          // }  
           
           
           // get the concernement matter bodies with id