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: docs/source/changelog.rst
+97-1Lines changed: 97 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,102 @@ Changelog
6
6
.. role:: cmake(code)
7
7
:language: cmake
8
8
9
+
v1.3.0 (Aug 03, 2024)
10
+
---------------------
11
+
12
+
- Separated the collision set and potential computations. This allows us to more easily add new potentials in the future. This will require updating calls to ``compute_potential_*``. See the `tutorial <https://ipctk.xyz/tutorial/getting_started.html>`__ for details.
13
+
- Add a ``Barrier`` class to enable dynamic selection of barrier function.
14
+
- Add a ``NarrowPhaseCCD`` class to enable dynamic selection of narrow-phase CCD method.
15
+
16
+
.. _details-4:
17
+
18
+
Details
19
+
~~~~~~~
20
+
21
+
- Refactor potentials in `#83 <https://github.com/ipc-sim/ipc-toolkit/pull/83>`__
22
+
23
+
- Replace "constraint" and "contact" names with "collision"
24
+
- Removed ``compute_potential_*`` from ``Collision`` and ``Collisions``
25
+
- Add a new class hierarchy ``Potential`` which represents computing the sum of individual potentials per collision
26
+
27
+
- Implement the barrier potential and friction dissipative potential as Potentials: ``BarrierPotential`` and ``FrictionPotential``
28
+
29
+
- Now, ``Collisions`` serve solely as the set of active collisions
30
+
- Add the distance mollifier to all collisions with a ``is_mollified()`` function
31
+
32
+
- The default mollifier is $m(x) = 1$, and only ``EdgeEdgeCollision`` overrides this
33
+
34
+
- Remove versions of ``compute_distance`` and ``ccd`` from ``CollisionStencil`` which take the full mesh as input
35
+
36
+
- Instead, expose the versions that take the collision stencil's vertex positions directly
37
+
38
+
- Polymorphic barrier in `#84 <https://github.com/ipc-sim/ipc-toolkit/pull/84>`__
39
+
40
+
- Make the barrier function an object so it can be changed at runtime
41
+
- Add a virtual class ``Barrier`` as an interface for generic barriers
42
+
- Add ``ClampedLogBarrier`` class which implements the smoothly clamped log barrier functions from [Li et al. 2020]
43
+
- ``barrier_gradient`` and ``barrier_hessian`` renamed to ``barrier_first_derivative`` and ``barrier_second_derivative`` respectively
44
+
- Co-authored by `@arvigj <https://github.com/arvigj>`__
45
+
46
+
- Update compiler warnings in `#88 <https://github.com/ipc-sim/ipc-toolkit/pull/88>`__
47
+
48
+
- Add ``-Werror=enum-conversion`` and ``-Wfloat-conversion``
49
+
50
+
- Fix 🐛 hash when not using Abseil in `#90 <https://github.com/ipc-sim/ipc-toolkit/pull/90>`__
51
+
- Clean-up SpatialHash Broad Phase in `#91 <https://github.com/ipc-sim/ipc-toolkit/pull/91>`__
52
+
53
+
- Replace ``IPC_TOOLKIT_WITH_CORRECT_CCD`` with ``IPC_TOOLKIT_WITH_INEXACT_CCD``
54
+
55
+
- Always include Tight Inclusion CCD because it is used by Nonlinear CCD
56
+
57
+
- Add support for face-face collision (not used anywhere but for completeness and future-proof nonlinear face-face)
58
+
- Add and use generic functions to ``SpatialHash``
59
+
- Replace ``camelCase`` with ``snake_case`` in ``SpatialHash`` and ``HashGrid``
60
+
61
+
- Update Scalable CCD in `#92 <https://github.com/ipc-sim/ipc-toolkit/pull/92>`__
62
+
63
+
- Updated Scalable CCD (i.e., Sweep and Tiniest Queue and CUDA Tight Inclusion CCD) to the `unified repository <https://github.com/Continuous-Collision-Detection/Scalable-CCD>`__ with support for generic collision pairs.
64
+
- Renamed ``SWEEP_AND_TINIEST_QUEUE`` to ``SWEEP_AND_PRUNE`` to reflect that it is a standard implementation of the sweep and prune algorithm (see, e.g., "Real-Time Collision Detection" [Ericson 2004])
65
+
- Renamed ``SWEEP_AND_TINIEST_QUEUE_GPU`` to ``SWEEP_AND_TINIEST_QUEUE`` to reflect that it is the only existing implementation of the sweep and tiniest queue algorithm
66
+
67
+
- Mark single argument constructors explicit in `#93 <https://github.com/ipc-sim/ipc-toolkit/pull/93>`__
68
+
69
+
- Mark ``BarrierPotential(double)`` and ``FrictionPotential(double)`` as explicit constructors to avoid implicit conversions from double
70
+
71
+
- Fix compatibility with the latest Eigen by `@teseoch <https://github.com/teseoch>`__ in `#94 <https://github.com/ipc-sim/ipc-toolkit/pull/94>`__
72
+
- Add clang-format check action in `#96 <https://github.com/ipc-sim/ipc-toolkit/pull/96>`__
73
+
- Add new project PSD option by `@Huangzizhou <https://github.com/Huangzizhou>`__ in `#95 <https://github.com/ipc-sim/ipc-toolkit/pull/95>`__
74
+
75
+
- Instead of clamping the negative eigenvalues to zero, add the option to flips the sign of negative eigenvalues according to `[Chen et al. 2024] <https://github.com/honglin-c/abs-psd>`__
76
+
77
+
- Fix 🐛 Python bindings for Numpy 2 in `#100 <https://github.com/ipc-sim/ipc-toolkit/pull/100>`__
78
+
- Make faces an optional parameter to ``CollisionMesh`` in `#105 <https://github.com/ipc-sim/ipc-toolkit/pull/105>`__
79
+
- Fix Python documentation by @rc in `#108 <https://github.com/ipc-sim/ipc-toolkit/pull/108>`__
80
+
- Polymorphic CCD in `#110 <https://github.com/ipc-sim/ipc-toolkit/pull/110>`__
Copy file name to clipboardExpand all lines: docs/source/cpp.rst
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,7 @@ C++
24
24
:end-before: <!--- BEGIN C++ README 2 --->
25
25
26
26
.. tip::
27
-
If your :cmake:`IPC_TOOLKIT_GIT_TAG` is a tag (e.g. ``v1.2.1``), then you can use the :cmake:`FetchContent_Declare` argument :cmake:`GIT_SHALLOW TRUE` to download only a single commit. Otherwise, you should use the default :cmake:`GIT_SHALLOW FALSE`.
27
+
If your :cmake:`IPC_TOOLKIT_GIT_TAG` is a tag (e.g. ``v1.3.0``), then you can use the :cmake:`FetchContent_Declare` argument :cmake:`GIT_SHALLOW TRUE` to download only a single commit. Otherwise, you should use the default :cmake:`GIT_SHALLOW FALSE`.
0 commit comments