@open3cl/engine 1.3.22 → 1.3.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36,6 +36,7 @@ function tv_k(pt_di, di, de, du, pc_id, logement) {
36
36
  const mur_list = enveloppe.mur_collection.mur || [];
37
37
  const pb_list = enveloppe.plancher_bas_collection.plancher_bas || [];
38
38
  const ph_list = enveloppe.plancher_haut_collection.plancher_haut || [];
39
+ /** @type {BaieVitreeItem[]} **/
39
40
  const bv_list = enveloppe.baie_vitree_collection.baie_vitree || [];
40
41
  const porte_list = enveloppe.porte_collection.porte || [];
41
42
 
@@ -114,11 +115,29 @@ function tv_k(pt_di, di, de, du, pc_id, logement) {
114
115
  }
115
116
  }
116
117
 
117
- const mur = mur_list.find(
118
- (mur) =>
118
+ let mur = mur_list.find((mur, murIndex) => {
119
+ if (
119
120
  compareReferences(mur.donnee_entree.reference, de.reference_1) ||
120
121
  compareReferences(mur.donnee_entree.reference, de.reference_2)
121
- );
122
+ ) {
123
+ return true;
124
+ }
125
+ if (bug_for_bug_compat) {
126
+ /**
127
+ * Si on ne trouve pas de mur associé au pont thermique, on vérifie si on trouve une baie vitrée associée
128
+ * au pont thermique et si cette dernière à une reference_paroi qui correspond à un mur existant.
129
+ */
130
+ /** @type {BaieVitreeItem} **/
131
+ const bvPt = bv_list.find((bv) => bv.donnee_entree.reference === de.reference_1);
132
+ if (bvPt && Number(bvPt.donnee_entree.reference_paroi) === murIndex) {
133
+ console.error(
134
+ `Aucun mur trouvé pour le pont thermique, le mur à été retrouvé en recherchant le référence du pont thermique sur les baie vitrée et la variable reference_paroi`
135
+ );
136
+ return true;
137
+ }
138
+ }
139
+ return false;
140
+ });
122
141
 
123
142
  const matcher = {
124
143
  enum_type_liaison_id: de.enum_type_liaison_id
package/4_ventilation.js CHANGED
@@ -67,8 +67,11 @@ function tv_q4pa_conv(di, de, cg, mur_list, ph_list, porte_list, bv_list) {
67
67
  if (!porte.donnee_entree.presence_joint) return acc + porte.donnee_entree.surface_porte;
68
68
  else return acc;
69
69
  }, 0);
70
- let pjt =
71
- surface_bv_avec_joint / (surface_bv_avec_joint + surface_bv_sans_joint) > 0.5 ? '1' : '0';
70
+ const ratioSurfaceJoint = surface_bv_avec_joint / (surface_bv_avec_joint + surface_bv_sans_joint);
71
+ let pjt = ratioSurfaceJoint > 0.5 ? '1' : '0';
72
+ if (bug_for_bug_compat) {
73
+ pjt = ratioSurfaceJoint >= 0.5 ? '1' : '0';
74
+ }
72
75
 
73
76
  if (bug_for_bug_compat && de.tv_q4pa_conv_id) {
74
77
  const rowQ4paConv = tv('q4pa_conv', {
package/engine.js CHANGED
@@ -20,7 +20,7 @@ import { Inertie } from './7_inertie.js';
20
20
  import getFicheTechnique from './ficheTechnique.js';
21
21
  import { ProductionENR } from './16.2_production_enr.js';
22
22
 
23
- const LIB_VERSION = '1.3.22';
23
+ const LIB_VERSION = '1.3.24';
24
24
 
25
25
  function calc_th(map_id) {
26
26
  const map = enums.methode_application_dpe_log[map_id];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open3cl/engine",
3
- "version": "1.3.22",
3
+ "version": "1.3.24",
4
4
  "description": "Open Source 3CL-DPE engine",
5
5
  "main": "index.js",
6
6
  "directories": {