commit 891e1f8b9e69981d2be536248e5eed9f35cddc49
parent 3b694e0b921857e2149d129a8619d0cd19894064
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Thu, 21 Jan 2021 12:23:01 +0100
Upd the profile of primitive_compute_radcoefs
The caller can now use a combination of atrstm_radcoef_flag to define
the radiative coefficient to compute for each primitive node.
Diffstat:
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/atrstm_radcoefs.c b/src/atrstm_radcoefs.c
@@ -90,7 +90,7 @@ atrstm_fetch_radcoefs
/* Compute the radiative properties of the primitive nodes */
res = primitive_compute_radcoefs
- (atrstm, &atrstm->refract_id, &prim, prim_radcoefs);
+ (atrstm, &atrstm->refract_id, &prim, args->radcoefs_mask, prim_radcoefs);
if(res != RES_OK) {
log_err(atrstm,
"Error computing the radiative properties for the primitive %lu -- %s.\n",
@@ -142,6 +142,7 @@ primitive_compute_radcoefs
(const struct atrstm* atrstm,
const struct atrri_refractive_index* refract_id,
const struct suvm_primitive* prim,
+ const int radcoefs_mask, /* Combination of atrstm_radcoef_flag */
struct radcoefs radcoefs[])
{
struct radcoefs_compute_args args = RADCOEFS_COMPUTE_ARGS_NULL;
@@ -160,6 +161,7 @@ primitive_compute_radcoefs
args.kappa = refract_id->kappa;
args.gyration_radius_prefactor = atrstm->gyration_radius_prefactor;
args.fractal_dimension = atrstm->fractal_dimension;
+ args.radcoefs_mask = radcoefs_mask;
FOR_EACH(inode, 0, 4) {
const double* node;
@@ -210,6 +212,7 @@ dump_radcoefs
args.kappa = refract_id->kappa;
args.gyration_radius_prefactor = atrstm->gyration_radius_prefactor;
args.fractal_dimension = atrstm->fractal_dimension;
+ args.radcoefs_mask = ATRSTM_RADCOEFS_MASK_ALL;
props_min.ka = DBL_MAX;
props_max.ka =-DBL_MAX;
diff --git a/src/atrstm_radcoefs.h b/src/atrstm_radcoefs.h
@@ -55,6 +55,7 @@ primitive_compute_radcoefs
(const struct atrstm* atrstm,
const struct atrri_refractive_index* refract_id,
const struct suvm_primitive* prim,
+ const int radcoefs_mask,
struct radcoefs radcoefs[]); /* Per primitive node radiative coefficients */
/* Write per node radiative coefficients regarding the submitted refracted
@@ -77,7 +78,8 @@ primitive_compute_radcoefs_range
res_T res = RES_OK;
ASSERT(radcoefs_min && radcoefs_max);
- res = primitive_compute_radcoefs(atrstm, refract_id, prim, props);
+ res = primitive_compute_radcoefs
+ (atrstm, refract_id, prim, ATRSTM_RADCOEFS_MASK_ALL, props);
if(res != RES_OK) return res;
radcoefs_min->ka = MMIN