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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,12 @@
1
1
## Master
2
2
3
+
- Lib: Fix a bug that caused the neighborhood search results to be incomplete
4
+
- Lib: Update to `nalgebra` 0.27. with const generics and removed usage of `nalgebra` types that are deprecated
5
+
- CLI: Add a command line option `--output-normals` to the `reconstruct` sub-command to write mesh normals to the output file. Note that currently the normals are only computed using an area weighted average of triangle normals.
6
+
- CLI: Change the `convert` sub-command to allow both conversion of particle files and conversion of mesh formats. Instead of using the `--input` option you now have to either use the `--particles` or `--mesh` option to specify the input file depending on whether you want to convert a particle or mesh file. For particles `VTK, BGEO, PLY, XYZ, JSON -> VTK, PLY` is supported. For meshes only `VTK, PLY -> OBJ` is supported.
7
+
- CLI: Add JSON files as supported particle input file
8
+
- CLI: Change the command line option to specify a sequence of input files from `--input-sequence-pattern` to `--input-sequence`
9
+
3
10
### Short-term goals
4
11
- Implement export of surface normals via the CLI
5
12
@@ -21,7 +28,7 @@ Otherwise this release contains just some small changes to command line paramete
21
28
- Lib: Change AABB's `contains_point` method such that it now considers the AABB as "open" to its max value, i.e. it checks if the point is in the half-open set `[min, max[`
22
29
- Lib: Implemented an own `profile!` macro that also works in multi-threaded code, i.e. with together with `rayon`
23
30
- CLI: The CLI now also prints detailed profiling/timing output when running in parallel with domain decomposition thanks to the new `profile` macro
24
-
- CLI: Add `--domain-min` and `--domain-max` flags to the `convert`subcommand that allows to filter out particles
31
+
- CLI: Add `--domain-min` and `--domain-max` flags to the `convert`sub-command that allows to filter out particles
25
32
- CLI: Remove the `--splash-detection-radius` flag as it did not work for a couple of releases
26
33
- Lib: Update to [`vtkio`](https://github.com/elrnv/vtkio) 0.6.0
@@ -167,6 +168,16 @@ Files with the "`.ply`" extension are loaded using [`ply-rs`](https://crates.io/
167
168
168
169
Files with the "`.xyz`" extension are interpreted as raw bytes of `f32` values in native endianness of the system. Three consecutive `f32`s represent a (x,y,z) coordinate triplet of a fluid particle.
169
170
171
+
### JSON
172
+
173
+
Files with the "`.json`" extension are interpreted as serializations of a `Vec<[f32; 3]>` where each three component array represents a particle position. This corresponds to a JSON file with a structure like this for example:
174
+
```json
175
+
[
176
+
[1.0, 2.0, 3.0],
177
+
[1.0, 2.0, 3.0],
178
+
]
179
+
```
180
+
170
181
## Output file formats
171
182
172
183
Currently, only VTK files are supported for output.
@@ -175,7 +186,7 @@ Currently, only VTK files are supported for output.
175
186
176
187
### The `reconstruct` command
177
188
```
178
-
splashsurf-reconstruct 0.6.0
189
+
splashsurf-reconstruct 0.7.0
179
190
Reconstruct a surface from particle data
180
191
181
192
USAGE:
@@ -204,7 +215,7 @@ OPTIONS:
204
215
-i, --input-file <input-file>
205
216
Path to the input file where the particle positions are stored (supported formats: VTK, binary f32 XYZ, PLY,

6
7
7
8
Surface reconstruction library and CLI for particle data from SPH simulations, written in Rust.
@@ -11,7 +12,7 @@ Surface reconstruction library and CLI for particle data from SPH simulations, w
11
12
</p>
12
13
13
14
`splashsurf` is a tool to reconstruct surfaces meshes from SPH particle data.
14
-
The first image shows the visualization of a set of particles of an SPH fluid simulation from [SPlisHSPlasH](https://github.com/InteractiveComputerGraphics/SPlisHSPlasH).
15
+
The first image shows the visualization of a set of particles from an SPH fluid simulation from [SPlisHSPlasH](https://github.com/InteractiveComputerGraphics/SPlisHSPlasH).
15
16
The particle radius is `0.025`. As the rendering of a fluid should not look like a ball pit, a surface mesh has to be
16
17
reconstructed from this particle data. The next image shows a reconstructed surface mesh of the fluid produced by `splashsurf`
17
18
with a "smoothing length" of `2.2` times the particles radius and a cell size of `1.1` times the particle radius. The
@@ -36,6 +37,7 @@ The result might look something like this (please excuse the lack of 3D renderin
36
37
-[BGEO](#bgeo)
37
38
-[PLY](#ply)
38
39
-[XYZ](#xyz)
40
+
-[JSON](#json)
39
41
-[Output file formats](#output-file-formats)
40
42
-[All command line options](#all-command-line-options)
@@ -166,6 +168,16 @@ Files with the "`.ply`" extension are loaded using [`ply-rs`](https://crates.io/
166
168
167
169
Files with the "`.xyz`" extension are interpreted as raw bytes of `f32` values in native endianness of the system. Three consecutive `f32`s represent a (x,y,z) coordinate triplet of a fluid particle.
168
170
171
+
### JSON
172
+
173
+
Files with the "`.json`" extension are interpreted as serializations of a `Vec<[f32; 3]>` where each three component array represents a particle position. This corresponds to a JSON file with a structure like this for example:
174
+
```json
175
+
[
176
+
[1.0, 2.0, 3.0],
177
+
[1.0, 2.0, 3.0],
178
+
]
179
+
```
180
+
169
181
## Output file formats
170
182
171
183
Currently, only VTK files are supported for output.
@@ -174,7 +186,7 @@ Currently, only VTK files are supported for output.
174
186
175
187
### The `reconstruct` command
176
188
```
177
-
splashsurf-reconstruct 0.6.0
189
+
splashsurf-reconstruct 0.7.0
178
190
Reconstruct a surface from particle data
179
191
180
192
USAGE:
@@ -203,7 +215,7 @@ OPTIONS:
203
215
-i, --input-file <input-file>
204
216
Path to the input file where the particle positions are stored (supported formats: VTK, binary f32 XYZ, PLY,
0 commit comments