solstice-solver

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

commit 839c10b49e0a6598407911145ff3a8b5d380b503
parent 48bfe391ee541dbdf21c603d7d589d6cbbc43cb3
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Thu, 16 Mar 2017 15:07:07 +0100

Test the tracked path API

Diffstat:
Msrc/test_ssol_solver1.c | 36+++++++++++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/src/test_ssol_solver1.c b/src/test_ssol_solver1.c @@ -73,6 +73,8 @@ main(int argc, char** argv) struct ssol_mc_receiver mc_rcv; struct ssol_mc_shape mc_shape; struct ssol_mc_primitive mc_prim; + struct ssol_path path; + struct ssol_path_vertex vertex; double dir[3]; double wavelengths[3] = { 1, 2, 3 }; double intensities[3] = { 1, 0.8, 1 }; @@ -162,7 +164,39 @@ main(int argc, char** argv) CHECK(ssol_instance_set_receiver(target, SSOL_FRONT, 0), RES_OK); CHECK(ssol_scene_attach_instance(scene, target), RES_OK); - CHECK(ssol_solve(scene, rng, 1, 0, NULL, &estimator), RES_OK); + CHECK(ssol_solve(scene, rng, 1, 1, NULL, &estimator), RES_OK); + + CHECK(ssol_estimator_get_tracked_paths_count(NULL, NULL), RES_BAD_ARG); + CHECK(ssol_estimator_get_tracked_paths_count(estimator, NULL), RES_BAD_ARG); + CHECK(ssol_estimator_get_tracked_paths_count(NULL, &count), RES_BAD_ARG); + CHECK(ssol_estimator_get_tracked_paths_count(estimator, &count), RES_OK); + CHECK(count, 1); + + CHECK(ssol_estimator_get_tracked_path(NULL, count, NULL), RES_BAD_ARG); + CHECK(ssol_estimator_get_tracked_path(estimator, count, NULL), RES_BAD_ARG); + CHECK(ssol_estimator_get_tracked_path(NULL, 0, NULL), RES_BAD_ARG); + CHECK(ssol_estimator_get_tracked_path(estimator, 0, NULL), RES_BAD_ARG); + CHECK(ssol_estimator_get_tracked_path(NULL, count, &path), RES_BAD_ARG); + CHECK(ssol_estimator_get_tracked_path(estimator, count, &path), RES_BAD_ARG); + CHECK(ssol_estimator_get_tracked_path(NULL, 0, &path), RES_BAD_ARG); + CHECK(ssol_estimator_get_tracked_path(estimator, 0, &path), RES_OK); + + CHECK(ssol_path_get_vertices_count(NULL, NULL), RES_BAD_ARG); + CHECK(ssol_path_get_vertices_count(&path, NULL), RES_BAD_ARG); + CHECK(ssol_path_get_vertices_count(NULL, &count), RES_BAD_ARG); + CHECK(ssol_path_get_vertices_count(&path, &count), RES_OK); + NCHECK(count, 0); + + CHECK(ssol_path_get_vertex(NULL, count, NULL), RES_BAD_ARG); + CHECK(ssol_path_get_vertex(&path, count, NULL), RES_BAD_ARG); + CHECK(ssol_path_get_vertex(NULL, 0, NULL), RES_BAD_ARG); + CHECK(ssol_path_get_vertex(&path, 0, NULL), RES_BAD_ARG); + CHECK(ssol_path_get_vertex(NULL, count, &vertex), RES_BAD_ARG); + CHECK(ssol_path_get_vertex(&path, count, &vertex), RES_BAD_ARG); + CHECK(ssol_path_get_vertex(NULL, 0, &vertex), RES_BAD_ARG); + FOR_EACH(i, 0, count) { + CHECK(ssol_path_get_vertex(&path, i, &vertex), RES_OK); + } CHECK(ssol_estimator_get_sampled_area(NULL, NULL), RES_BAD_ARG); CHECK(ssol_estimator_get_sampled_area(estimator, NULL), RES_BAD_ARG);