star-2d

Contour structuring for efficient 2D geometric queries
git clone git://git.meso-star.fr/star-2d.git
Log | Files | Refs | README | LICENSE

commit 3816118ed65fb4f899fc72be54f25f1052724da6
parent 13729a0e017870bb962af48c263de4602ce1303c
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Wed, 12 Jul 2023 11:56:14 +0200

Merge remote-tracking branch 'origin/develop' into feature_posix_make

Diffstat:
MREADME.md | 8++++++--
Mcmake/CMakeLists.txt | 6+++---
Msrc/s2d.h | 2+-
Msrc/s2d_backend.h | 2+-
Msrc/s2d_buffer.h | 2+-
Msrc/s2d_c.h | 2+-
Msrc/s2d_device.c | 2+-
Msrc/s2d_device_c.h | 2+-
Msrc/s2d_geometry.c | 2+-
Msrc/s2d_geometry.h | 2+-
Msrc/s2d_line_segments.c | 2+-
Msrc/s2d_line_segments.h | 2+-
Msrc/s2d_primitive.c | 2+-
Msrc/s2d_scene.c | 2+-
Msrc/s2d_scene_c.h | 2+-
Msrc/s2d_scene_view.c | 10++++++++--
Msrc/s2d_scene_view_c.h | 2+-
Msrc/s2d_scene_view_closest_point.c | 2+-
Msrc/s2d_shape.c | 2+-
Msrc/s2d_shape_c.h | 2+-
Msrc/test_s2d_closest_point.c | 2+-
Msrc/test_s2d_device.c | 2+-
Msrc/test_s2d_primitive.c | 2+-
Msrc/test_s2d_raytrace.c | 2+-
Msrc/test_s2d_sample.c | 2+-
Msrc/test_s2d_scene.c | 2+-
Msrc/test_s2d_scene_view.c | 2+-
Msrc/test_s2d_scene_view2.c | 2+-
Msrc/test_s2d_shape.c | 2+-
Msrc/test_s2d_trace_ray.c | 2+-
Msrc/test_s2d_trace_ray_3d.c | 2+-
Msrc/test_s2d_utils.h | 2+-
32 files changed, 46 insertions(+), 36 deletions(-)

diff --git a/README.md b/README.md @@ -97,6 +97,10 @@ with `<STAR2D_INSTALL_DIR>` the install directory of Star-2D and ## Release notes +### Version 0.6 + +- Upgrading the ray-tracing backend from Embree3 to Embree4 + ### Version 0.5.1 - Corrects an invalid memory read. @@ -157,8 +161,8 @@ argument. For closest point queries, this range is from 0 to query radius. ## License -Copyright (C) 2016-2021 |Meso|Star> (<contact@meso-star.com>). Star-2D is free -software released under the CeCILL v2.1 license. You are welcome to +Copyright (C) 2016-2021, 2023 |Méso|Star> (<contact@meso-star.com>). Star-2D is +free software released under the CeCILL v2.1 license. You are welcome to redistribute it under certain conditions; refer to the COPYING files for details. diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +# Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) # # This software is governed by the CeCILL license under French law and # abiding by the rules of distribution of free software. You can use, @@ -56,8 +56,8 @@ endif() # Configure and define targets ################################################################################ set(VERSION_MAJOR 0) -set(VERSION_MINOR 5) -set(VERSION_PATCH 1) +set(VERSION_MINOR 6) +set(VERSION_PATCH 0) set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) set(S2D_FILES_SRC diff --git a/src/s2d.h b/src/s2d.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_backend.h b/src/s2d_backend.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is a computer program whose purpose is to describe a * virtual 3D environment that can be ray-traced and sampled both robustly diff --git a/src/s2d_buffer.h b/src/s2d_buffer.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_c.h b/src/s2d_c.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_device.c b/src/s2d_device.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_device_c.h b/src/s2d_device_c.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_geometry.c b/src/s2d_geometry.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_geometry.h b/src/s2d_geometry.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_line_segments.c b/src/s2d_line_segments.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_line_segments.h b/src/s2d_line_segments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_primitive.c b/src/s2d_primitive.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_scene.c b/src/s2d_scene.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_scene_c.h b/src/s2d_scene_c.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_scene_view.c b/src/s2d_scene_view.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, @@ -42,6 +42,10 @@ #include <limits.h> +/* Number of floats added to the vertex position in order to ensure the Embree + * vertex padding constraint */ +#define POSITION_PADDING 1 + struct intersect_context { struct RTCRayQueryContext rtc; struct s2d_scene_view* scnview; @@ -214,7 +218,9 @@ embree_geometry_setup_positions nverts = line_segments_get_nverts(geom->lines); verts = line_segments_get_attr(geom->lines, S2D_POSITION); - buf = rtcNewBuffer(scnview->scn->dev->rtc, nverts*2*sizeof(float[3])); + buf = rtcNewBuffer + (scnview->scn->dev->rtc, + nverts*2*sizeof(float[3]) + sizeof(float)*POSITION_PADDING); if(!buf) { res = rtc_error_to_res_T(rtcGetDeviceError(scnview->scn->dev->rtc)); goto error; diff --git a/src/s2d_scene_view_c.h b/src/s2d_scene_view_c.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_scene_view_closest_point.c b/src/s2d_scene_view_closest_point.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_shape.c b/src/s2d_shape.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/s2d_shape_c.h b/src/s2d_shape_c.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_closest_point.c b/src/test_s2d_closest_point.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_device.c b/src/test_s2d_device.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_primitive.c b/src/test_s2d_primitive.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_raytrace.c b/src/test_s2d_raytrace.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_sample.c b/src/test_s2d_sample.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_scene.c b/src/test_s2d_scene.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_scene_view.c b/src/test_s2d_scene_view.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_scene_view2.c b/src/test_s2d_scene_view2.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_shape.c b/src/test_s2d_shape.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_trace_ray.c b/src/test_s2d_trace_ray.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_trace_ray_3d.c b/src/test_s2d_trace_ray_3d.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use, diff --git a/src/test_s2d_utils.h b/src/test_s2d_utils.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2016-2021 |Meso|Star> (contact@meso-star.com) +/* Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com) * * This software is governed by the CeCILL license under French law and * abiding by the rules of distribution of free software. You can use,