commit 97023f9e6e34a87bd33c1c5f3fa9156577cbb818
parent 63bbfc7cf89284bfe7dfa867bcc61f0d9a13a725
Author: Benjamin Piaud <benjamin.piaud@meso-star.com>
Date: Wed, 21 Dec 2022 11:43:51 +0100
Bugfix on fake_ground and building_ground_connection
Diffstat:
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/cg_building_model1.c b/src/cg_building_model1.c
@@ -1124,7 +1124,7 @@ build_fake_ground
}
if (cad->foundation) sa_push(list, cad->foundation);
- if (cad->attic_cavity) sa_push(list, cad->attic_cavity);
+ if (cad->crawlspace_cavity) sa_push(list, cad->crawlspace_cavity);
if (cad->floor) sa_push(list, cad->floor);
if (cad->floor_insulation) sa_push(list, cad->floor_insulation);
@@ -1179,6 +1179,7 @@ building_ground_connection
if (cad->floor) sa_push(list, cad->floor);
if (cad->floor_insulation) sa_push(list, cad->floor_insulation);
if (cad->external_insulation) sa_push(list, cad->external_insulation);
+ if (cad->wall) sa_push(list, cad->wall);
ERR(scad_geometries_common_boundaries(
cname, list, sa_size(list),
@@ -1243,6 +1244,7 @@ build_cad_model1(struct building* building)
size_t id = building->id;
enum model_type model = building->model;
double height = building->height;
+ double depth = 0;
struct scpr_polygon* pg = building->pg;
struct data_model1* data = (struct data_model1 *)building->data;
struct data_cad_model1* data_cad;
@@ -1301,7 +1303,7 @@ build_cad_model1(struct building* building)
*/
if (data->foundation > 0) {
- double depth = -data->foundation;
+ depth = -data->foundation;
ERR(build_wall(
str_cget(&prefix), "foundation", pg, depth, data, &data_cad->foundation));
} else {
@@ -1374,7 +1376,8 @@ build_cad_model1(struct building* building)
}
/* fake ground */
- ERR(build_fake_ground(data_cad, pg, data->foundation, &data_cad->fake_ground));
+ depth = MMAX(data->foundation, data->floor + data->floor_insulation + data->crawl);
+ ERR(build_fake_ground(data_cad, pg, depth, &data_cad->fake_ground));
ERR(scad_scene_partition());