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
+80Lines changed: 80 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,84 @@ Changelog
6
6
.. role:: cmake(code)
7
7
:language: cmake
8
8
9
+
v1.2.0 (Dec 11, 2023)
10
+
---------------------
11
+
12
+
Various new features |:rocket:| and some bug fixes |:bug:|.
13
+
14
+
- Implement the improved max approximator as described in `[Li et al. 2023] <https://arxiv.org/abs/2307.15908>`__
15
+
- Add a port of the Additive CCD method from `[Li et al. 2021] <https://ipc-sim.github.io/C-IPC/>`__
16
+
- Add a generic implementation of the nonlinear CCD (of linear geometry) algorithm from `[Ferguson et al. 2021] <https://ipc-sim.github.io/rigid-ipc/>`__
17
+
- Add missing codimensional collision support (point-point and point-edge)
18
+
19
+
.. _details-3:
20
+
21
+
Details
22
+
~~~~~~~
23
+
24
+
* Update website URL to `ipctk.xyz <https://ipctk.xyz>`__ in `#54 <https://github.com/ipc-sim/ipc-toolkit/pull/54>`__
25
+
* Simplify tangential basis Jacobian calculation thanks to `@halehOssadat <https://github.com/halehOssadat>`__ and `@jpanetta <https://github.com/jpanetta>`__ in `#56 <https://github.com/ipc-sim/ipc-toolkit/pull/56>`__
26
+
* Update ``FindSIMD.cmake`` to now add support for Neon (Arm/Apple Silicon SIMD instruction set) in `#58 <https://github.com/ipc-sim/ipc-toolkit/pull/58>`__
27
+
28
+
* Credit: ``FindSIMD.cmake`` from `Project CHRONO <https://github.com/projectchrono/chrono>`__ under `BSD 3-Clause “New” or “Revised” License <https://github.com/projectchrono/chrono/blob/main/LICENSE>`__.
29
+
30
+
* Improve the max approximator used (i.e., sum over constraints) as described in `[Li et al. 2023] <https://arxiv.org/abs/2307.15908>`__ in `#55 <https://github.com/ipc-sim/ipc-toolkit/pull/55>`__
31
+
32
+
* Add a ``dtype`` to EE collisions to keep track of the distance type for mollified constraints
33
+
* Initialize mesh adjacencies by default
34
+
* Use edge length as the area weighting for codimensional edges
35
+
36
+
* Improve documentation and tutorials in `#61 <https://github.com/ipc-sim/ipc-toolkit/pull/61>`__
37
+
38
+
* Add documentation describing the convergent formulation
39
+
* Add documentation describing the constraint offset/minimum distance
40
+
* Add documentation for broad- and narrow-phase CCD
41
+
* Add documentation for High-Order IPC
42
+
* Also, renames ``CollisionConstraint::minimum_distance`` to ``CollisionConstraint::dmin``
43
+
44
+
* Add a port of the Additive CCD method from `[Li et al. 2021] <https://ipc-sim.github.io/C-IPC/>`__ in `#62 <https://github.com/ipc-sim/ipc-toolkit/pull/62>`__
45
+
46
+
* This is a modified version of the `original open-source implementation <https://github.com/ipc-sim/Codim-IPC>`__ which is under the `Appache-2.0 License <https://github.com/ipc-sim/Codim-IPC/blob/main/LICENSE>`__.
47
+
* 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``.
48
+
* 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).
49
+
* This adds missing feature mentioned in `#63 <https://github.com/ipc-sim/ipc-toolkit/discussions/63>`__
50
+
51
+
* Add Codecov to get a report of unit test code coverage in `#64 <https://github.com/ipc-sim/ipc-toolkit/pull/64>`__
52
+
53
+
* Add more tests to improve code coverage and fix small bugs in `#65 <https://github.com/ipc-sim/ipc-toolkit/pull/65>`__
54
+
55
+
* Fix the symmetric matrix assertion in ``project_to_psd`` and ``project_to_pd`` in `#67 <https://github.com/ipc-sim/ipc-toolkit/pull/67>`__
56
+
* Handle codim. point-point collisions in `#66 <https://github.com/ipc-sim/ipc-toolkit/pull/66>`__
57
+
58
+
* This adds missing feature as discussed in `#63 <https://github.com/ipc-sim/ipc-toolkit/discussions/63>`__
59
+
60
+
* Add tests of Python bindings using `nose2 <https://docs.nose2.io/en/latest/>`__ in `#69 <https://github.com/ipc-sim/ipc-toolkit/pull/69>`__
61
+
* In CCD, check the initial distance when no motion occurs in `#71 <https://github.com/ipc-sim/ipc-toolkit/pull/71>`__
62
+
* Add a generic implementation of the nonlinear CCD (of linear geometry) algorithm from `[Ferguson et al. 2021] <https://ipc-sim.github.io/rigid-ipc/>`__ in `#72 <https://github.com/ipc-sim/ipc-toolkit/pull/72>`__
63
+
64
+
* 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
where :math:`p` is the point's position over time, :math:`\mathrm{lerp}(a, b, t) := (b - a) t + a` and :math:`\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.
72
+
* We perform interval arithmetic using `filib <https://github.com/zfergus/filib>`__ which has been shown to be “the only library that is correct, consistent, portable, and efficient” `[Tang et al. 2022] <https://cims.nyu.edu/gcl/papers/2022-Intervals.pdf>`__.
73
+
* Add a nonlinear CCD tutorial to the docs in `#78 <https://github.com/ipc-sim/ipc-toolkit/pull/78>`__
74
+
75
+
* Add additional compiler warnings and resolve them to be warning-free in `#73 <https://github.com/ipc-sim/ipc-toolkit/pull/73>`__
76
+
* Add Python bindings for ``igl::predicate::segment_segment_intersect`` in `#74 <https://github.com/ipc-sim/ipc-toolkit/pull/74>`__
77
+
* Integrate `SimpleBVH <https://github.com/ipc-sim/SimpleBVH>`__ as a broad-phase method in `#75 <https://github.com/ipc-sim/ipc-toolkit/pull/75>`__
78
+
* Fix the shape derivative of mollified edge-edge contact in `#76 <https://github.com/ipc-sim/ipc-toolkit/pull/76>`__
79
+
80
+
* Additionally, this makes the shape derivative computation object-oriented.
81
+
82
+
* Update Python bindings with recent changes and unified comments in `#77 <https://github.com/ipc-sim/ipc-toolkit/pull/77>`__
83
+
* Add support for collision between codimensional edges and points in 3D in `#79 <https://github.com/ipc-sim/ipc-toolkit/pull/79>`__
84
+
85
+
* Implements missing features discussed in `#63 <https://github.com/ipc-sim/ipc-toolkit/discussions/63>`__.
86
+
9
87
v1.1.1 (Aug 18, 2023)
10
88
---------------------
11
89
@@ -21,6 +99,8 @@ v1.1.0 (Jul 25, 2023)
21
99
22
100
Large refactoring to make the code more object-oriented rather than passing objects to functions. Other changes include the friction potential now being a function of velocity, bug fixes, and a new tutorial.
Copy file name to clipboardExpand all lines: docs/source/cpp.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
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.1.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.2.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