NetDEM v1.0
Loading...
Searching...
No Matches
netdem::SolverSphereTriangle Class Reference

A class used to solve collisions between a particle and a triangle. More...

#include <solver_sphere_triangle.hpp>

Inheritance diagram for netdem::SolverSphereTriangle:
netdem::CollisionSolverPW

Public Member Functions

 SolverSphereTriangle ()
 Default constructor for SolverSphereTriangle class.
 
 SolverSphereTriangle (Particle *const p, Wall *const w)
 Constructor for SolverSphereTriangle class.
 
CollisionSolverPWClone () const override
 Clones the current SolverSphereTriangle instance.
 
void Init (Particle *const p, Wall *const w) override
 Initializes the SolverSphereTriangle instance with the given particles and walls.
 
bool Detect () override
 Detects if there is a collision between the particle and the wall.
 
void ResolveInit (ContactPW *const cnt, double timestep) override
 Resolves the collision based on the initial contact information and timestep.
 
void ResolveUpdate (ContactPW *const cnt, double timestep) override
 Updates the contact information object and resolves the collision based on the updated information and timestep.
 
void ResolveInit (CollisionGeometries *const cnt_geoms, double timestep)
 Resolves the collision between the particle and the wall based on the initial contact geometries and timestep.
 
void ResolveUpdate (CollisionGeometries *const cnt_geoms, double timestep)
 Updates the contact geometries object and resolves the collision based on the updated information and timestep.
 
- Public Member Functions inherited from netdem::CollisionSolverPW
 CollisionSolverPW ()
 
 CollisionSolverPW (Particle *const p, Wall *const w)
 
virtual bool Detect (ContactPW *const cnt)
 
virtual ~CollisionSolverPW ()
 

Additional Inherited Members

- Public Attributes inherited from netdem::CollisionSolverPW
Particleparticle {nullptr}
 
Wallwall {nullptr}
 
- Protected Member Functions inherited from netdem::CollisionSolverPW
void InitBasicGeoms (CollisionGeometries *const cnt_geoms, double timestep)
 
void UpdateBasicGeoms (CollisionGeometries *const cnt_geoms, double timestep, Vec3d const &dir_n_old)
 

Detailed Description

A class used to solve collisions between a particle and a triangle.

The SolverSphereTriangle class is used to solve collisions between a particle and a triangle in a particle-wall collision detection system.

Constructor & Destructor Documentation

◆ SolverSphereTriangle() [1/2]

SolverSphereTriangle::SolverSphereTriangle ( )

Default constructor for SolverSphereTriangle class.

◆ SolverSphereTriangle() [2/2]

SolverSphereTriangle::SolverSphereTriangle ( Particle *const p,
Wall *const w )

Constructor for SolverSphereTriangle class.

Parameters
pA pointer to the particle involved in the collision.
wA pointer to the wall involved in the collision.

Member Function Documentation

◆ Clone()

CollisionSolverPW * SolverSphereTriangle::Clone ( ) const
overridevirtual

Clones the current SolverSphereTriangle instance.

Returns
A pointer to the cloned SolverSphereTriangle instance.

Implements netdem::CollisionSolverPW.

◆ Detect()

bool SolverSphereTriangle::Detect ( )
overridevirtual

Detects if there is a collision between the particle and the wall.

Returns
True if there is a collision, false otherwise.

Implements netdem::CollisionSolverPW.

◆ Init()

void SolverSphereTriangle::Init ( Particle *const p,
Wall *const w )
overridevirtual

Initializes the SolverSphereTriangle instance with the given particles and walls.

Parameters
pA pointer to the particle involved in the collision.
wA pointer to the wall involved in the collision.

Reimplemented from netdem::CollisionSolverPW.

◆ ResolveInit() [1/2]

void SolverSphereTriangle::ResolveInit ( CollisionGeometries *const cnt_geoms,
double timestep )

Resolves the collision between the particle and the wall based on the initial contact geometries and timestep.

Parameters
cnt_geomsA pointer to the contact geometries object.
timestepThe timestep to use for resolving the collision.

◆ ResolveInit() [2/2]

void SolverSphereTriangle::ResolveInit ( ContactPW *const cnt,
double timestep )
overridevirtual

Resolves the collision based on the initial contact information and timestep.

Parameters
cntA pointer to the contact information object.
timestepThe timestep to use for resolving the collision.

Implements netdem::CollisionSolverPW.

◆ ResolveUpdate() [1/2]

void SolverSphereTriangle::ResolveUpdate ( CollisionGeometries *const cnt_geoms,
double timestep )

Updates the contact geometries object and resolves the collision based on the updated information and timestep.

Parameters
cnt_geomsA pointer to the contact geometries object.
timestepThe timestep to use for resolving the collision.

◆ ResolveUpdate() [2/2]

void SolverSphereTriangle::ResolveUpdate ( ContactPW *const cnt,
double timestep )
overridevirtual

Updates the contact information object and resolves the collision based on the updated information and timestep.

Parameters
cntA pointer to the contact information object.
timestepThe timestep to use for resolving the collision.

Implements netdem::CollisionSolverPW.


The documentation for this class was generated from the following files: