Skip to content

Use geodesic walk for MeshDomain particle splitting instead of Euclidean offset#2502

Merged
akenmorris merged 10 commits intomasterfrom
amorris/2501-mesh-particle-split
Mar 2, 2026
Merged

Use geodesic walk for MeshDomain particle splitting instead of Euclidean offset#2502
akenmorris merged 10 commits intomasterfrom
amorris/2501-mesh-particle-split

Conversation

@akenmorris
Copy link
Contributor

The split particle was previously placed at a raw Euclidean offset (potentially off-surface or on the other side), now it walks along the mesh surface via geodesic_walk. This prevents particle splits from jumping to the other side of a very thing object area.

…ean offset

The split particle was previously placed at a raw Euclidean offset
(potentially off-surface or on the other side), now it walks along the
mesh surface via geodesic_walk.
Surface construction and geodesic remeshing during optimize setup are
now done in parallel using tbb::parallel_for, with SW_PROGRESS updates
showing "Loading meshes" or "Loading and remeshing meshes" with a
count and progress bar. Pre-built Surface overloads added to
MeshDomain, Sampler, and Optimize to support the three-phase approach
(collect, parallel compute, sequential register).
UpdateParticlePosition negates the update vector before calling
geodesic_walk, so we need to negate it here to match the base class
behavior (moving in the positive local_direction).
Parallelize mesh loading with TBB and add progress reporting
…ean offset

The split particle was previously placed at a raw Euclidean offset
(potentially off-surface or on the other side), now it walks along the
mesh surface via geodesic_walk.
UpdateParticlePosition negates the update vector before calling
geodesic_walk, so we need to negate it here to match the base class
behavior (moving in the positive local_direction).
…mization iterations to 500 to resolve particle swap from geodesic walk splitting
@akenmorris akenmorris merged commit 0b8b7b0 into master Mar 2, 2026
5 checks passed
@akenmorris akenmorris deleted the amorris/2501-mesh-particle-split branch March 2, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant