stardis-solver

Solve coupled heat transfers
git clone git://git.meso-star.fr/stardis-solver.git
Log | Files | Refs | README | LICENSE

commit f39c79abb302934065d907af79d6eb5a77ee5e1e
parent 01d8fbd7fcdfa2537c6a2bfecb74ab3335c1ebb7
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Thu, 21 Feb 2019 14:44:33 +0100

Add and test the sdis_<interface|medium>_get_id function

Diffstat:
Msrc/sdis.h | 8++++++++
Msrc/sdis_interface.c | 7+++++++
Msrc/sdis_medium.c | 9+++++++++
Msrc/test_sdis_interface.c | 6++++++
Msrc/test_sdis_medium.c | 2++
Msrc/test_sdis_utils.c | 1-
6 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/src/sdis.h b/src/sdis.h @@ -466,6 +466,10 @@ SDIS_API struct sdis_data* sdis_medium_get_data (struct sdis_medium* medium); +SDIS_API unsigned +sdis_medium_get_id + (const struct sdis_medium* medium); + /******************************************************************************* * An interface is the boundary between 2 media. ******************************************************************************/ @@ -495,6 +499,10 @@ SDIS_API struct sdis_data* sdis_interface_get_data (struct sdis_interface* interface); +SDIS_API unsigned +sdis_interface_get_id + (const struct sdis_interface* interface); + /******************************************************************************* * A scene is a collection of primitives. Each primitive is the geometric * support of the interface between 2 media. diff --git a/src/sdis_interface.c b/src/sdis_interface.c @@ -201,6 +201,13 @@ sdis_interface_get_data(struct sdis_interface* interf) return interf->data; } +unsigned +sdis_interface_get_id(const struct sdis_interface* interf) +{ + ASSERT(interf); + return interf->id.index; +} + /******************************************************************************* * Local function ******************************************************************************/ diff --git a/src/sdis_medium.c b/src/sdis_medium.c @@ -226,9 +226,18 @@ sdis_medium_get_type(const struct sdis_medium* medium) ASSERT(medium != NULL); return medium->type; } + struct sdis_data* sdis_medium_get_data(struct sdis_medium* medium) { ASSERT(medium); return medium->data; } + +unsigned +sdis_medium_get_id(const struct sdis_medium* medium) +{ + ASSERT(medium); + return medium->id.index; +} + diff --git a/src/test_sdis_interface.c b/src/test_sdis_interface.c @@ -25,6 +25,7 @@ main(int argc, char** argv) struct sdis_medium* fluid = NULL; struct sdis_medium* solid = NULL; struct sdis_interface* interf = NULL; + struct sdis_interface* interf2 = NULL; struct sdis_fluid_shader fluid_shader = DUMMY_FLUID_SHADER; struct sdis_solid_shader solid_shader = DUMMY_SOLID_SHADER; struct sdis_interface_shader shader = DUMMY_INTERFACE_SHADER; @@ -112,7 +113,11 @@ main(int argc, char** argv) OK(sdis_data_create(dev, 4, 16, NULL, &data)); OK(CREATE(dev, solid, fluid, &shader, data, &interf)); + OK(CREATE(dev, solid, fluid, &shader, NULL, &interf2)); + CHK(sdis_interface_get_data(interf) == data); + CHK(sdis_interface_get_data(interf2) == NULL); + CHK(sdis_interface_get_id(interf) != sdis_interface_get_id(interf2)); BA(sdis_interface_get_shader(NULL, &shader2)); BA(sdis_interface_get_shader(interf, NULL)); @@ -130,6 +135,7 @@ main(int argc, char** argv) CHK(shader.back.specular_fraction == shader2.back.specular_fraction); OK(sdis_interface_ref_put(interf)); + OK(sdis_interface_ref_put(interf2)); OK(sdis_data_ref_put(data)); #undef CREATE diff --git a/src/test_sdis_medium.c b/src/test_sdis_medium.c @@ -117,6 +117,8 @@ main(int argc, char** argv) OK(sdis_fluid_create(dev, &fluid_shader, NULL, &fluid)); OK(sdis_solid_create(dev, &solid_shader, NULL, &solid)); + CHK(sdis_medium_get_id(fluid) != sdis_medium_get_id(solid)); + BA(sdis_fluid_get_shader(NULL, &fluid_shader2)); BA(sdis_fluid_get_shader(fluid, NULL)); BA(sdis_fluid_get_shader(solid, &fluid_shader2)); diff --git a/src/test_sdis_utils.c b/src/test_sdis_utils.c @@ -194,4 +194,3 @@ check_green_function(struct sdis_green_function* green) OK(sdis_estimator_ref_put(estimator)); } -