commit 271635ba299d2e2bba8603738c56a0d2a275cabd
parent 51aace0513ad03dbd82b1e66d55097934ca836c5
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 20 Oct 2023 16:41:00 +0200
Wraps the README text in 72 columns
This matches the convention of plain text e-mails. It can therefore be
sent as a publication announcement e-mail without being reformatted.
Diffstat:
| M | README.md | | | 81 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- |
1 file changed, 42 insertions(+), 39 deletions(-)
diff --git a/README.md b/README.md
@@ -1,19 +1,20 @@
# Star 2D
-Star-2D is a C library that manages *2D geometries* and implements operators
-to access them efficiently such as uniform sampling, ray tracing or a closest
-point query.
+Star-2D is a C library that manages *2D geometries* and implements
+operators to access them efficiently such as uniform sampling, ray
+tracing or a closest point query.
The main concept exposed in Star-2D is the *shape*. A shape is a set of
-segments representing the outline of a 2D geometry. Shape data is user-defined
-and can be updated at any time. The shapes are then attached to a *scene* where
-they can be queried using a *view* of the scene. When it is created, the view
-internally builds the accelerating structures necessary for the access
-operators. These data structures are constructed from the scene geometry as
-defined at the time of view creation; a view is thus insensitive to updates of
-the scene following its creation. This means that multiple views can be used to
-save different states of the same scene, giving the caller great flexibility in
-managing scene data.
+segments representing the outline of a 2D geometry. Shape data is
+user-defined and can be updated at any time. The shapes are then
+attached to a *scene* where they can be queried using a *view* of the
+scene. When it is created, the view internally builds the accelerating
+structures necessary for the access operators. These data structures are
+constructed from the scene geometry as defined at the time of view
+creation; a view is thus insensitive to updates of the scene following
+its creation. This means that multiple views can be used to save
+different states of the same scene, giving the caller great flexibility
+in managing scene data.
## Requirements
@@ -42,33 +43,35 @@ Edit config.mk as needed, then run:
### Version 0.5
-Update the API of the filtering function: add the range of the ray as input
-argument. For closest point queries, this range is from 0 to query radius.
+Update the API of the filtering function: add the range of the ray as
+input argument. For closest point queries, this range is from 0 to query
+radius.
### Vesion 0.4.1
- Improve the accuracy of the closest point query.
- Fix the closest point query: the returned hit was wrong.
-- Fix the barycentric coordinates of the intersection of the ray onto the
- segment: the coordinates could lie outside the segment.
+- Fix the barycentric coordinates of the intersection of the ray onto
+ the segment: the coordinates could lie outside the segment.
### Version 0.4
-- Add the `s2d_scene_view_closest_point` function. This function retrieves the
- closest point into the scene to a query position in a radius from ]0, INF].
- This closest point is returned as a regular hit which means that the function
- returns to the caller not only the distance to the query position, but also
- the geometric primitive onto which the point lies and its location onto this
- primitive. If no segment lies around the query position in a distance lesser
- than the one defined by the query radius, the returned hit is invalid which
- can be checked with the regular `S2D_HIT_NONE` macro. Finally, this function
- supports the filter functions so that the caller can choose to discard
- closest hits according to its own criteria.
+- Add the `s2d_scene_view_closest_point` function. This function
+ retrieves the closest point into the scene to a query position in a
+ radius from ]0, INF]. This closest point is returned as a regular hit
+ which means that the function returns to the caller not only the
+ distance to the query position, but also the geometric primitive onto
+ which the point lies and its location onto this primitive. If no
+ segment lies around the query position in a distance lesser than the
+ one defined by the query radius, the returned hit is invalid which can
+ be checked with the regular `S2D_HIT_NONE` macro. Finally, this
+ function supports the filter functions so that the caller can choose
+ to discard closest hits according to its own criteria.
### Version 0.3.1
-- Fix the `s2d_segment_get_vertex_attrib` function: it could fail and return an
- error while it shouldn't.
+- Fix the `s2d_segment_get_vertex_attrib` function: it could fail and
+ return an error while it shouldn't.
### Version 0.3
@@ -76,27 +79,27 @@ argument. For closest point queries, this range is from 0 to query radius.
### Version 0.2
-- Add the `s2d_segment_get_vertex_attrib` function that returns the vertex
- attributes of a given segment.
+- Add the `s2d_segment_get_vertex_attrib` function that returns the
+ vertex attributes of a given segment.
### Version 0.1.1
-- Fix the `s2d_primitive_get_function`. The function failed when the submitted
- parametric coordinate was equal to 1.
+- Fix the `s2d_primitive_get_function`. The function failed when the
+ submitted parametric coordinate was equal to 1.
### Version 0.1
- Implement the `s2d_scene_view` API; it replaces the
- `s2d_scene_<begin|end>_session` functions that were removed. A view registers
- the state of the scene from which it is created. It is used to retrieve the
- scene data through ray-tracing, sampling or indexing. Several views can be
- created on the same scene.
+ `s2d_scene_<begin|end>_session` functions that were removed. A view
+ registers the state of the scene from which it is created. It is used
+ to retrieve the scene data through ray-tracing, sampling or indexing.
+ Several views can be created on the same scene.
- Add the possibility to attach a same shape to several scenes.
## License
Copyright (C) 2016-2021, 2023 |Méso|Star> (contact@meso-star.com)
-Star-2D is free software released under GPL v3+ license: GNU GPL version 3 or
-later. You are welcome to redistribute it under certain conditions; refer to
-the COPYING file for details.
+Star-2D is free software released under GPL v3+ license: GNU GPL version
+3 or later. You are welcome to redistribute it under certain conditions;
+refer to the COPYING file for details.