Incremental Potential Contact (IPC) is for robust and accurate time stepping of nonlinear elastodynamics. IPC guarantees intersection- and inversion-free trajectories regardless of materials, time-step sizes, velocities, or deformation severity.
There're several places requiring compiler to be C++17 compliant in the code.
At the same time, the CMakeLists.txt allows users to set LIBIGL_USE_STATIC_LIBRARY to be ON. If user really does so, it will lead to compilation error from LIBIGL. The reason is that there're STL functions in libigl being removed in C++17.
Suggestions: either
Remove the option(LIBIGL_USE_STATIC_LIBRARY ... in CMakeLists.txt
OR update README.md to tell users they cannot build with LIBIGL_USE_STATIC_LIBRARY=ON
Additional info: the error I got with ON:
/home/wzheng/cipc/external/libigl/include/igl/blue_noise.cpp:212:10: error: no
member named 'random_shuffle' in namespace 'std'
std::random_shuffle(std::begin(N), std::end(N));
Hi
There're several places requiring compiler to be C++17 compliant in the code.
At the same time, the CMakeLists.txt allows users to set LIBIGL_USE_STATIC_LIBRARY to be ON. If user really does so, it will lead to compilation error from LIBIGL. The reason is that there're STL functions in libigl being removed in C++17.
Suggestions: either
option(LIBIGL_USE_STATIC_LIBRARY ...
in CMakeLists.txtAdditional info: the error I got with
ON
:Thanks