solstice-solver

Solver library of the solstice app
git clone git://git.meso-star.com/solstice-solver.git
Log | Files | Refs | README | LICENSE

commit 2d3e9fefb5f0680562b61050152539e3bcea5081
parent ee1bdaf8a1580aa8bf9ef8bbd4fdeb155fc38eff
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Wed, 13 Jul 2016 15:07:44 +0200

Add set_dni API call for sun.

Diffstat:
Msrc/ssol.h | 5+++++
Msrc/ssol_sun.c | 9+++++++++
Msrc/ssol_sun_c.h | 1+
Msrc/test_ssol_sun.c | 4++++
4 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/src/ssol.h b/src/ssol.h @@ -489,6 +489,11 @@ ssol_sun_set_direction (struct ssol_sun* sun, const double direction[3]); +SSOL_API res_T +ssol_sun_set_dni + (struct ssol_sun* sun, + const double dni); + /* List of per wavelength power of the sun */ SSOL_API res_T ssol_sun_set_spectrum diff --git a/src/ssol_sun.c b/src/ssol_sun.c @@ -123,6 +123,15 @@ ssol_sun_set_direction(struct ssol_sun* sun, const double direction[3]) } res_T +ssol_sun_set_dni(struct ssol_sun* sun, const double dni) +{ + if (!sun || dni <= 0) + return RES_BAD_ARG; + sun->dni = dni; + return RES_OK; +} + +res_T ssol_sun_set_spectrum(struct ssol_sun* sun, struct ssol_spectrum* spectrum) { if (!sun || !spectrum) diff --git a/src/ssol_sun_c.h b/src/ssol_sun_c.h @@ -35,6 +35,7 @@ struct buie { struct ssol_sun { double direction[3]; + double dni; struct ssol_spectrum* spectrum; struct ssol_scene* scene_attachment; enum sun_type type; diff --git a/src/test_ssol_sun.c b/src/test_ssol_sun.c @@ -118,6 +118,10 @@ main(int argc, char** argv) CHECK(ssol_sun_set_direction(sun, NULL), RES_BAD_ARG); CHECK(ssol_sun_set_direction(sun, dir), RES_OK); + CHECK(ssol_sun_set_dni(NULL, 1000), RES_BAD_ARG); + CHECK(ssol_sun_set_dni(sun, 0), RES_BAD_ARG); + CHECK(ssol_sun_set_dni(sun, 1000), RES_OK); + CHECK(ssol_sun_set_pillbox_aperture(NULL, 0.1), RES_BAD_ARG); CHECK(ssol_sun_set_pillbox_aperture(sun, -0.1), RES_BAD_ARG); CHECK(ssol_sun_set_pillbox_aperture(sun, 999), RES_BAD_ARG);