third version of superpositions is almost done
This commit is contained in:
@@ -23,6 +23,7 @@ export const ConcernementsStore = defineStore({
|
||||
allBesoinsById: {},
|
||||
allSuperpositions: [],
|
||||
allSuperpositions_bycids: {},
|
||||
allSuperpositions_clustered: [],
|
||||
allMapItems_byid: {},
|
||||
allProximites: [],
|
||||
opened_concernement: false,
|
||||
@@ -173,8 +174,7 @@ export const ConcernementsStore = defineStore({
|
||||
this.concernements.push(concernement);
|
||||
this.concernementsByID[concernement.id] = concernement;
|
||||
|
||||
});
|
||||
|
||||
}); // end of concernements loop
|
||||
console.log('temp_allSuperpositions', temp_allSuperpositions);
|
||||
|
||||
// cleaning superpositions, removing all incomplète onces
|
||||
@@ -185,47 +185,59 @@ export const ConcernementsStore = defineStore({
|
||||
this.concernementsByID[s[1].cid].has_superpositions = true;
|
||||
}
|
||||
});
|
||||
|
||||
console.log('this.allSuperpositions', this.allSuperpositions);
|
||||
|
||||
|
||||
|
||||
// Handle multiple superpositions accross two concernements
|
||||
for(let superposition of this.allSuperpositions){
|
||||
let superposition_couple_id = `${superposition[0].cid}-${superposition[1].cid}`;
|
||||
let superposition_id = `${superposition[0].cid}_${superposition[0].eid}__${superposition[1].cid}_${superposition[1].eid}`
|
||||
// record allSuperpositions_bycids
|
||||
if (!this.allSuperpositions_bycids[superposition_couple_id]) {
|
||||
this.allSuperpositions_bycids[superposition_couple_id] = {};
|
||||
}
|
||||
this.allSuperpositions_bycids[superposition_couple_id][superposition_id] = superposition;
|
||||
|
||||
// record allSuperpositions_bycid
|
||||
for (let i = 0; i < 2; i++) {
|
||||
// i is the current concernement, j is the target
|
||||
let j = i === 0 ? 1 : 0;
|
||||
// if (!this.allSuperpositions_bycid[superposition[i].cid]) {
|
||||
// this.allSuperpositions_bycid[superposition[i].cid] = [];
|
||||
// }
|
||||
if(this.concernementsByID[superposition[i].cid]){
|
||||
if (!this.concernementsByID[superposition[i].cid].superpositions[superposition_couple_id]) {
|
||||
this.concernementsByID[superposition[i].cid].superpositions[superposition_couple_id] = {};
|
||||
// get superpositions by cluster
|
||||
for(let superpos_to_record of this.allSuperpositions){
|
||||
let recorded = false;
|
||||
// console.log('-- -- --');
|
||||
// console.log(`superpos_to_record : ${superpos_to_record[0].cid}-${superpos_to_record[0].eid}, ${superpos_to_record[1].cid}-${superpos_to_record[1].eid}`);
|
||||
// loop through alredy recorded clusters
|
||||
for(let [cluster_index, superpo_cluster] of this.allSuperpositions_clustered.entries()){
|
||||
// console.log('cluster_index', cluster_index);
|
||||
// for each cluster loop throug each superposition
|
||||
in_cluster_loop:{
|
||||
for(let s of superpo_cluster){
|
||||
// console.log(`s : ${s.cid}-${s.eid}`);
|
||||
// loop through each cid_eid couple of superpo to be recorded
|
||||
for(let i = 0; i <= 1; i++){
|
||||
// if one couple already recorded in the cluster, add the other one to the same cluster
|
||||
if (superpos_to_record[i].cid === s.cid && superpos_to_record[i].eid === s.eid){
|
||||
// console.log('-- recorded');
|
||||
let j = i === 0 ? 1 : 0;
|
||||
// add the right item to the cluster
|
||||
this.allSuperpositions_clustered[cluster_index].push(superpos_to_record[j]);
|
||||
// record the superposition on the concernement BY cluster index
|
||||
// console.log(`superpos_to_record[j].cid:${superpos_to_record[j].cid}`);
|
||||
// console.log('concernement', this.concernementsByID[superpos_to_record[j].cid]);
|
||||
// create array if not already exists
|
||||
if(typeof this.concernementsByID[superpos_to_record[j].cid].superpositions[cluster_index] === 'undefined'){
|
||||
this.concernementsByID[superpos_to_record[j].cid].superpositions[cluster_index] = [superpos_to_record];
|
||||
}else{
|
||||
this.concernementsByID[superpos_to_record[j].cid].superpositions[cluster_index].push(superpos_to_record);
|
||||
}
|
||||
recorded = true;
|
||||
break in_cluster_loop;
|
||||
}
|
||||
}
|
||||
}
|
||||
// let s = {
|
||||
// eid: superposition[i].eid,
|
||||
// target_cid: superposition[j].cid,
|
||||
// target_eid: superposition[j].eid,
|
||||
// };
|
||||
// this.allSuperpositions_bycid[superposition[i].cid].push(s)
|
||||
// this.concernementsByID[superposition[i].cid].superpositions.push(s);
|
||||
this.concernementsByID[superposition[i].cid].superpositions[superposition_couple_id][superposition_id] = superposition;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(!recorded){
|
||||
// console.log('-- not recorded');
|
||||
// create cluster and fill it it with first couple
|
||||
this.allSuperpositions_clustered.push(superpos_to_record);
|
||||
// record superposition on each concernement of each couple member BY cluster index
|
||||
for( let i=0; i <= 1; i++){
|
||||
this.concernementsByID[superpos_to_record[i].cid].superpositions[this.allSuperpositions_clustered.length-1] = [superpos_to_record];
|
||||
// console.log(`concernement ${superpos_to_record[i].cid} superposition by cluster index`,this.concernementsByID[superpos_to_record[i].cid].superpositions);
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log('this.allSuperpositions_bycids', this.allSuperpositions_bycids);
|
||||
// console.log('this.allSuperpositions_bycid', this.allSuperpositions_bycid);
|
||||
console.log('this.allSuperpositions_clustered', this.allSuperpositions_clustered);
|
||||
|
||||
|
||||
this.concernements_loaded = true;
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user