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
Modifications: remove broad phase functions, refactor code to use a single implementation of the additive_ccd algorithm, utilize our distance function rather than porting the Codim-IPC versions, return true if the initial distance is less than the minimum distance, and add an explicit tmax parameter rather than relying on the initial value of toi.
This is mostly for reference comparison and it is not integrated into the full code. This also includes the ability to pull the sample CCD queries and run them in a unit-test (requires GMP).
Generic nonlinear trajectories are specified through a NonlinearTrajectory virtual class. By default the maximum distance between the trajectory and a linearized version is computed using interval arithmetic. That is $\max_{t \in [0, 1]} \Vert p(\mathrm{lerp}(t_0, t_1, t)) - \mathrm{lerp}(p(t_0), p(t_1), t) \Vert_2 \leq \sup(\Vert p([t_0, t_1]) - \mathrm{lerp}(p(t_0), p(t_1), [0, 1]) \Vert_2)$ where $p$ is the point's position over time, $\mathrm{lerp}(a, b, t) := (b - a) t + a$ and $\sup([a,b]):=b$. Because this can be an overly conservative approximation, users can override the NonlinearTrajectory::max_distance_from_linear function to compute the max directly in closed form, if known.
We perform interval arithmetic using filib which has been shown to be "the only library that is correct, consistent, portable, and efficient" [Tang et al. 2022].
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Various new features 🚀 and some bug fixes 🐛.
Highlights
What's Changed
FindSIMD.cmake
to now add support for Neon (Arm/Apple Silicon SIMD instruction set) in Update FindSIMD CMake #58FindSIMD.cmake
from Project CHRONO under BSD 3-Clause "New" or "Revised" License.dtype
to EE collisions to keep track of the distance type for mollified constraintsCollisionConstraint::minimum_distance
toCollisionConstraint::dmin
additive_ccd
algorithm, utilize our distance function rather than porting the Codim-IPC versions, returntrue
if the initial distance is less than the minimum distance, and add an explicittmax
parameter rather than relying on the initial value oftoi
.project_to_psd
andproject_to_pd
in Fix project_to_psd assertion #67NonlinearTrajectory
virtual class. By default the maximum distance between the trajectory and a linearized version is computed using interval arithmetic. That isNonlinearTrajectory::max_distance_from_linear
function to compute the max directly in closed form, if known.igl::predicate::segment_segment_intersect
in Bind segment_segment_intersect #74Full Changelog: v1.1.1...v1.2.0
New Contributors
This discussion was created from the release v1.2.0.
Beta Was this translation helpful? Give feedback.
All reactions