You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`JIGSAW` is an unstructured mesh generator and tessellation library; designed to generate high-quality triangulations and polyhedral decompositions of general planar, surface and volumetric domains. `JIGSAW` includes refinement-based algorithms for the construction of new meshes, optimisation-driven techniques for the improvement of existing grids, as well as routines to assemble (restricted) Delaunay tessellations, Voronoi complexes and Power diagrams.
10
+
`JIGSAW` is an unstructured mesh generator and tessellation library; designed to generate high-quality triangulations and polyhedral decompositions of general planar, surface and volumetric domains.
11
11
12
-
This package provides the underlying `c++` source for `JIGSAW`; defining a basic command-line interface and a `c`-format `API`. Higher-level scripting interfaces, supporting a range of additional facilities for file I/O, mesh visualisation and post-processing operations are also available, including for <ahref="http://www.mathworks.com">`MATLAB`</a> / <ahref="http://www.gnu.org/software/octave">`OCTAVE`</a> <ahref="https://github.com/dengwirda/jigsaw-matlab">here</a> and for <ahref="https://www.python.org/">`PYTHON`</a> <ahref="https://github.com/dengwirda/jigsaw-python">here</a>.
12
+
`JIGSAW` includes refinement-based algorithms for constructing new meshes, optimisation-driven techniques for improving existing grids, as well as routines to assemble (restricted) Delaunay tessellations, Voronoi complexes and Power diagrams.
13
13
14
-
`JIGSAW` is compiled and tested on various `64-bit``Linux`, `Windows` and `MacOS` platforms using the `g++`, `clang++` and `msvc` compilers.
14
+
This package provides the underlying `c++` source for `JIGSAW`; defining a basic command-line interface and a `c`-format `API`. Higher-level scripting interfaces, supporting additional facilities for file I/O, mesh visualisation and post-processing operations are also available, including for <ahref="http://www.mathworks.com">`MATLAB`</a> / <ahref="http://www.gnu.org/software/octave">`OCTAVE`</a> <ahref="https://github.com/dengwirda/jigsaw-matlab">here</a> and for <ahref="https://www.python.org/">`PYTHON`</a> <ahref="https://github.com/dengwirda/jigsaw-python">here</a>.
15
+
16
+
`JIGSAW` has been compiled and tested on various `64-bit``Linux`, `Windows` and `MacOS` platforms using `>=c++17` versions of the `g++`, `clang++` and `msvc` compilers.
15
17
16
18
### `Code Structure`
17
19
18
-
`JIGSAW`is written as a `header-only` library in `c++`. Both a basic command-line interface and a `c`-format `API` are defined:
20
+
`JIGSAW` a `c++``header-only` library. Both a basic command-line interface and a `c`-format `API` are defined:
19
21
20
22
JIGSAW::
21
23
├── src -- JIGSAW src code
@@ -28,15 +30,13 @@ This package provides the underlying `c++` source for `JIGSAW`; defining a basic
28
30
29
31
### `Getting Started`
30
32
31
-
The full `JIGSAW` src can be found in <ahref="../master/src/">`../jigsaw/src/`</a>. It has been built using various `c++17` conforming versions of the `g++`, `clang++` and `msvc` compilers.
32
-
33
33
`JIGSAW` is a `header-only` package - the single main `jigsaw.cpp` file simply `#include`'s the rest of the library directly. `JIGSAW` does not currently dependent on any external packages or libraries.
34
34
35
35
`JIGSAW` consists of several pieces: `(a)` a set of command-line utilities that read and write mesh data from/to file, and `(b)` a shared library, accessible via a `c`-format `API`.
36
36
37
37
### `Using cmake`
38
38
39
-
`JIGSAW` can be built using the <ahref="https://cmake.org/">`cmake`</a> utility. To build, follow the steps below:
39
+
`JIGSAW` can be built using the <ahref="https://cmake.org/">`cmake`</a> utility:
40
40
41
41
* Clone or download this repository.
42
42
* Navigate to the root `../jigsaw/` directory.
@@ -46,15 +46,15 @@ The full `JIGSAW` src can be found in <a href="../master/src/">`../jigsaw/src/`<
This process will build a series of executables and shared libraries: `jigsaw` itself - the main command-line meshing utility, `tripod` - `JIGSAW`'s tessellation infrastructure, `marche` - a fast-marching solver designed to optimise mesh-spacing configurations, as well as `libjigsaw` - `JIGSAW`'s shared `API`.
49
+
A set of executables and shared libraries is built: `jigsaw` itself - the main command-line meshing utility, `tripod` - `JIGSAW`'s tessellation infrastructure, `marche` - a fast-marching solver designed to optimise mesh-spacing configurations, as well as `libjigsaw` - `JIGSAW`'s shared `API`.
50
50
51
-
`BUILD_MODE` can be used to select different compiler configurations and should generally either be `Release` or `Debug`. `EXTRAS` can be used to pass additional compile-time arguments, for example `-- -j 4` will build in parallel on supported architectures.
51
+
`BUILD_MODE` can be used to select different compiler configurations (either `Release` or `Debug`). `EXTRAS` can be used to pass additional compile-time arguments, for example `-- -j4` will build in parallel on supported architectures.
52
52
53
-
See `example.jig` for documentation on calling the command-line executables, and the headers in <ahref="../master/inc/">`../jigsaw/inc/`</a> for details on the `API`.
53
+
See `example.jig` for documentation, as well as the headers in <ahref="../master/inc/">`../jigsaw/inc/`</a> for details on the `API`.
54
54
55
55
### `CMD-line Examples`
56
56
57
-
After compiling the code, try running the following command-line example to get started:
57
+
After compiling the code, try running the following command-line example:
58
58
````
59
59
On WIN platforms:
60
60
@@ -64,15 +64,15 @@ On LNX platforms:
64
64
65
65
/bin/jigsaw example.jig
66
66
````
67
-
In this example, a high-quality tetrahedral mesh is generated for the 'stanford-bunny' geometry and the result written to file. The input geometry is specified as a triangulated surface, and is read from `../jigsaw/geo/bunny.msh`. The volume and surface mesh outputs are written to `../jigsaw/out/bunny.msh`. See the `example.jig` text-file for a description of `JIGSAW`'s configuration options.
67
+
In this example, a high-quality tetrahedral mesh is generated for the `stanford-bunny` geometry. The input geometry is specified as a triangulated surface, and is read from `../jigsaw/geo/bunny.msh`. The volume and surface mesh outputs are written to `../jigsaw/out/bunny.msh`. See the `example.jig` text-file for a description of `JIGSAW`'s configuration options.
68
68
69
69
A repository of additional surface models generated using `JIGSAW` can be found <ahref="https://github.com/dengwirda/jigsaw-models">here</a>. A description of the `*.jig` and `*.msh` input file formats can be found in the <ahref="https://github.com/dengwirda/jigsaw/wiki">wiki</a>.
70
70
71
71
### `libJIGSAW Scripts`
72
72
73
73
A set of unit-tests and `libjigsaw` example programs are contained in <ahref="../master/uni/">`../jigsaw/uni/`</a>. The `JIGSAW-API` is documented via the header files in <ahref="../master/inc/">`../jigsaw/inc/`</a>.
74
74
75
-
The unit-tests can be built using the <ahref="https://cmake.org/">`cmake`</a> utility. To build, follow the steps below:
75
+
The unit-tests can be built using the <ahref="https://cmake.org/">`cmake`</a> utility:
76
76
77
77
* Navigate to the `../jigsaw/uni/` directory.
78
78
* Make a new temporary directory BUILD.
@@ -81,7 +81,7 @@ The unit-tests can be built using the <a href="https://cmake.org/">`cmake`</a> u
This process will build the unit-tests as a series of executables in <ahref="../master/uni/">`../jigsaw/uni/`</a>. `BUILD_MODE` is a compiler configuration flag: either `Release` or `Debug`. `EXTRAS` can be used to pass additional compile-time arguments.
84
+
This process will build the unit-tests as a set of executables in <ahref="../master/uni/">`../jigsaw/uni/`</a>. `BUILD_MODE` is a compiler configuration flag (either `Release` or `Debug`). `EXTRAS` can be used to pass additional compile-time arguments.
0 commit comments