Skip to content

Commit

Permalink
feat: make connected component calculation infaillible + add helper f…
Browse files Browse the repository at this point in the history
…unctions (#291)

* feat: allow calculating meshes connected components when there is no topology

* feat: add helper functions to get trimesh connected-components as actual meshes

* chore: update changelog
  • Loading branch information
sebcrozet authored Nov 26, 2024
1 parent 816db48 commit a3f5e19
Show file tree
Hide file tree
Showing 6 changed files with 231 additions and 30 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,19 @@
- Removed `IntersectionCompositeShapeShapeBestFirstVisitor` (which had been deprecated for a while):
use `IntersectionCompositeShapeShapeVisitor` instead.

## v0.17.4

### Added

- Add `TriMeshConnectedComponents::to_meshes` and `::to_mesh_buffers` to easily extract individual meshes from the set
of connected components.
- Add `TriMesh::connected_component_meshes` to get the connected components as meshes directly.

### Modified

- Connected-components extraction will never fail now, and no longer require the successful calculation of the mesh’s
half-edge topology.

## v0.17.3

### Fix
Expand Down
2 changes: 2 additions & 0 deletions crates/parry2d-f64/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ std = [
"arrayvec/std",
"spade",
"thiserror",
"ena"
]
dim2 = []
f64 = []
Expand Down Expand Up @@ -84,6 +85,7 @@ bytemuck = { version = "1", features = ["derive"], optional = true }
log = "0.4"
ordered-float = { version = "4", default-features = false }
thiserror = { version = "1", optional = true }
ena = { version = "0.14.3", optional = true }

[dev-dependencies]
simba = { version = "0.9", default-features = false }
Expand Down
2 changes: 2 additions & 0 deletions crates/parry2d/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ std = [
"arrayvec/std",
"spade",
"thiserror",
"ena"
]
dim2 = []
f32 = []
Expand Down Expand Up @@ -84,6 +85,7 @@ bytemuck = { version = "1", features = ["derive"], optional = true }
ordered-float = { version = "4", default-features = false }
log = "0.4"
thiserror = { version = "1", optional = true }
ena = { version = "0.14.3", optional = true }

[dev-dependencies]
simba = { version = "0.9", default-features = false }
Expand Down
2 changes: 2 additions & 0 deletions crates/parry3d-f64/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ std = [
"arrayvec/std",
"spade",
"thiserror",
"ena"
]
dim3 = []
f64 = []
Expand Down Expand Up @@ -80,6 +81,7 @@ rayon = { version = "1", optional = true }
bytemuck = { version = "1", features = ["derive"], optional = true }
rstar = "0.12.0"
obj = { version = "0.10.2", optional = true }
ena = { version = "0.14.3", optional = true }

log = "0.4"
ordered-float = { version = "4", default-features = false }
Expand Down
2 changes: 2 additions & 0 deletions crates/parry3d/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ std = [
"arrayvec/std",
"spade",
"thiserror",
"ena"
]
dim3 = []
f32 = []
Expand Down Expand Up @@ -84,6 +85,7 @@ ordered-float = { version = "4", default-features = false }
thiserror = { version = "1", optional = true }
rstar = "0.12.0"
obj = { version = "0.10.2", optional = true }
ena = { version = "0.14.3", optional = true }

[dev-dependencies]
oorandom = "11"
Expand Down
Loading

0 comments on commit a3f5e19

Please sign in to comment.