100 double dist_pc_to_tri;
120 void UpdateLocalTriangle();
125 void ResolvePotentialContact();
130 inline Vec3d GetLineCircleIntersection(
double cr,
Vec3d const &cc,
132 Vec3d const &dir_n_cross_line,
138 inline double GetTriangleArea(
Vec3d const &v0,
Vec3d const &v1,
144 inline double GetCircleSegmentArea(
double cr,
double signed_d);
A class representing the geometries associated with a collision.
Definition collision_geometries.hpp:15
An abstract class representing a collision solver for a particle and a wall.
Definition collision_solver_pw.hpp:20
Definition particle.hpp:26
A class used to solve collisions between a particle and a triangle.
Definition solver_sphere_triangle.hpp:20
void ResolveInit(ContactPW *const cnt, double timestep) override
Resolves the collision based on the initial contact information and timestep.
Definition solver_sphere_triangle.cpp:55
bool Detect() override
Detects if there is a collision between the particle and the wall.
Definition solver_sphere_triangle.cpp:30
void ResolveUpdate(ContactPW *const cnt, double timestep) override
Updates the contact information object and resolves the collision based on the updated information an...
Definition solver_sphere_triangle.cpp:63
CollisionSolverPW * Clone() const override
Clones the current SolverSphereTriangle instance.
Definition solver_sphere_triangle.cpp:14
SolverSphereTriangle()
Default constructor for SolverSphereTriangle class.
Definition solver_sphere_triangle.cpp:8
void Init(Particle *const p, Wall *const w) override
Initializes the SolverSphereTriangle instance with the given particles and walls.
Definition solver_sphere_triangle.cpp:18
A class representing a triangle in 3D space.
Definition shape_triangle.hpp:19
A class representing a wall object in a physics simulation.
Definition wall.hpp:32
Definition bond_entry.hpp:7
std::array< double, 3 > Vec3d
Definition utils_macros.hpp:18