6#include <polysolve/nonlinear/PostStepData.hpp>
8#include <ipc/collisions/normal/normal_collisions.hpp>
9#include <ipc/potentials/barrier_potential.hpp>
10#include <ipc/collisions/normal/normal_collisions.hpp>
11#include <ipc/barrier/barrier.hpp>
22 const double avg_mass,
27 const bool is_time_dependent,
29 const ipc::BroadPhaseMethod broad_phase_method,
30 const double ccd_tolerance,
31 const int ccd_max_iterations,
33 const ipc::NormalCollisions::CollisionSetType collision_set_type = ipc::NormalCollisions::CollisionSetType::IPC,
34 const bool skip_obstacles =
false,
35 std::shared_ptr<ipc::Barrier> barrier =
nullptr);
37 virtual std::string
name()
const override {
return "barrier-contact"; }
44 void post_step(
const polysolve::nonlinear::PostStepData &data)
override;
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix