From f28a21a6c559251a2b3bdd2fc6f2a876e788dd53 Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Thu, 3 Mar 2022 20:49:36 +0100 Subject: [PATCH 1/5] Proofread... --- README.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 0206eb4f..ca76c379 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,20 @@ EBGeometry ---------- -Support for acceleration structures and signed-distance functions of tesselated surfaces. +A compact code for computing signed distance functions to watertight and orientable surface grids. Can be used with embedded-boundary (EB) codes like Chombo or AMReX. EBGeometry is a compact code for creating signed distance functions from watertight 3D surface tesselations. -The tesselations must consist of a planar polygons, but not necessarily restricted to triangles. -The surface mesh is stored in a doubly-connected edge list (DCEL), i.e. a half-edge data structure. -On watertight and orientable grids, the distance to any feature (facet, edge, vertex) is well defined. -Naively, this distance can be computed by iterating through every facet in surface mesh and computing the distance. +The tesselations must consist of planar polygons, but these polygons are not necessarily restricted to triangles. +Internally, the surface mesh is stored in a doubly-connected edge list (DCEL), i.e. a half-edge data structure. +On watertight and orientable grids, the distance to any feature (facet, edge, vertex) is well defined, and can naively be computed by computing the distance to every facet. EBGeometry provides bounding volume hierarchies (BVHs) for bounding geometric primitives in space. The BVHs are tree structures which permit accelerated closest-point searches. We point out that the BVHs in EBGeometry are shallow implementations without deep performance optimizations. In the DCEL context the BVHs are used for bounding the facets on the surface mesh, but there are no fundamental limitations on which objects that can be bounded. -Thus, multiple objects (e.g., surface grids or analytic functions) can also be bound in bounding volume hierarchy. -Querying the distance to the mesh through the BVH is much faster than directly computing the distance. +Thus, multiple objects (e.g., surface grids or analytic functions) can also be bound in the BVHs. +Querying the distance to the mesh through the BVH is much faster than the naive approach. On average, if the mesh consists of N facets then a BVH has O(log(N)) complexity while a direct search has O(N) complexity. Requirements From 49646ced5f7d710f49d44130f7e19e0414af0250 Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Thu, 3 Mar 2022 20:50:10 +0100 Subject: [PATCH 2/5] Remove line --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ca76c379..e34c173d 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@ EBGeometry A compact code for computing signed distance functions to watertight and orientable surface grids. Can be used with embedded-boundary (EB) codes like Chombo or AMReX. -EBGeometry is a compact code for creating signed distance functions from watertight 3D surface tesselations. The tesselations must consist of planar polygons, but these polygons are not necessarily restricted to triangles. Internally, the surface mesh is stored in a doubly-connected edge list (DCEL), i.e. a half-edge data structure. On watertight and orientable grids, the distance to any feature (facet, edge, vertex) is well defined, and can naively be computed by computing the distance to every facet. From 998048fc6f93a2148d8797ae592ca12a05048fa6 Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Thu, 3 Mar 2022 20:52:19 +0100 Subject: [PATCH 3/5] Remove more text --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e34c173d..6de240ee 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,11 @@ The tesselations must consist of planar polygons, but these polygons are not nec Internally, the surface mesh is stored in a doubly-connected edge list (DCEL), i.e. a half-edge data structure. On watertight and orientable grids, the distance to any feature (facet, edge, vertex) is well defined, and can naively be computed by computing the distance to every facet. -EBGeometry provides bounding volume hierarchies (BVHs) for bounding geometric primitives in space. -The BVHs are tree structures which permit accelerated closest-point searches. -We point out that the BVHs in EBGeometry are shallow implementations without deep performance optimizations. +EBGeometry provides bounding volume hierarchies (BVHs) for accelerating the signed distance computation. In the DCEL context the BVHs are used for bounding the facets on the surface mesh, but there are no fundamental limitations on which objects that can be bounded. Thus, multiple objects (e.g., surface grids or analytic functions) can also be bound in the BVHs. Querying the distance to the mesh through the BVH is much faster than the naive approach. -On average, if the mesh consists of N facets then a BVH has O(log(N)) complexity while a direct search has O(N) complexity. +On average, if the mesh consists of N facets then a BVH has O(log(N)) complexity while a direct search has O(N) complexity. Requirements ------------ From 5b798c25a79229876b0e403d37b2dd63a7cc3b0a Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Thu, 3 Mar 2022 20:55:31 +0100 Subject: [PATCH 4/5] Final update, I think --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6de240ee..d9e866d6 100644 --- a/README.md +++ b/README.md @@ -24,16 +24,20 @@ Requirements Basic usage ----------- -The library is header-only, simple make EBGeometry.hpp visible to your code and include it. +EBGeometry is a header-only library in C++. +To use it, simply make EBGeometry.hpp visible to your code and include it. + To clone the code do git clone git@github.com:rmrsk/EBGeometry.git Various examples are given in the Examples folder. To run one of the examples, navigate to the example and compile and run it. +E.g., - cd Examples/Basic/Sphere - g++ -std=c++14 main.cpp + cd Examples/Basic + g++ -O3 -std=c++14 main.cpp + ./a.out porsche.ply All the examples take the following steps that are specific to EBGeometry: From 50ef5181abfdc47d5b8561608522ef3a303986de Mon Sep 17 00:00:00 2001 From: Robert Marskar Date: Thu, 3 Mar 2022 20:56:20 +0100 Subject: [PATCH 5/5] Nope --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9e866d6..bd10d99f 100644 --- a/README.md +++ b/README.md @@ -56,4 +56,4 @@ EBGeometry is not too strict about these things, and uses rigorous templating fo License ------- -See LICENSE and Copyright.txt for redistribution rights. +See LICENSE and Copyright.txt for redistribution rights. \ No newline at end of file