From ed4141e22ef527548131f59847f25232a45d83f8 Mon Sep 17 00:00:00 2001 From: Giovanni La Mura <giovanni.lamura@inaf.it> Date: Mon, 14 Apr 2025 13:01:55 +0200 Subject: [PATCH] Raise an error if compact generator with different radii is used --- src/scripts/model_maker.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/scripts/model_maker.py b/src/scripts/model_maker.py index 4df0851..a1ab00c 100755 --- a/src/scripts/model_maker.py +++ b/src/scripts/model_maker.py @@ -378,6 +378,9 @@ def load_model(model_file): rnd_engine = "COMPACT" if (rnd_engine == "COMPACT"): check = random_compact(sconf, gconf, rnd_seed, max_rad) + if (check == 1): + print("ERROR: compact random generator works only when all sphere types have the same radius.") + return (None, None) elif (rnd_engine == "LOOSE"): check = random_aggregate(sconf, gconf, rnd_seed, max_rad) else: @@ -782,13 +785,13 @@ def random_compact(scatterer, geometry, seed, max_rad): # mesh = pv.Sphere(radius / max_rad, (x, y, z)) # pl.add_mesh(mesh) #pl.export_obj("scene.obj") - sph_index = 0 - for sphere in sorted(vec_spheres, key=lambda item: item['itype']): - scatterer['vec_types'][sph_index] = sphere['itype'] - geometry['vec_sph_x'][sph_index] = sphere['x'] - geometry['vec_sph_y'][sph_index] = sphere['y'] - geometry['vec_sph_z'][sph_index] = sphere['z'] - sph_index += 1 + sph_index = 0 + for sphere in sorted(vec_spheres, key=lambda item: item['itype']): + scatterer['vec_types'][sph_index] = sphere['itype'] + geometry['vec_sph_x'][sph_index] = sphere['x'] + geometry['vec_sph_y'][sph_index] = sphere['y'] + geometry['vec_sph_z'][sph_index] = sphere['z'] + sph_index += 1 return result ## \brief Write the geometry configuration dictionary to legacy format. -- GitLab