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

A class used to solve collisions between a sphere and a plane. More...

#include <solver_sphere_plane.hpp>

Inheritance diagram for netdem::SolverSpherePlane:
netdem::CollisionSolverPW

Public Member Functions

 SolverSpherePlane ()
 Default constructor for SolverSpherePlane class.
 
 SolverSpherePlane (Particle *const p, Wall *const w)
 Constructor for SolverSpherePlane class.
 
CollisionSolverPWClone () const override
 Clones the current SolverSpherePlane instance.
 
void Init (Particle *const p, Wall *const w) override
 Initializes the SolverSpherePlane 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 sphere and a plane.

The SolverSpherePlane class is used to solve collisions between a sphere and a plane in a particle-wall collision detection system.

Constructor & Destructor Documentation

◆ SolverSpherePlane() [1/2]

netdem::SolverSpherePlane::SolverSpherePlane ( )

Default constructor for SolverSpherePlane class.

◆ SolverSpherePlane() [2/2]

netdem::SolverSpherePlane::SolverSpherePlane ( Particle *const p,
Wall *const w )

Constructor for SolverSpherePlane 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 * netdem::SolverSpherePlane::Clone ( ) const
overridevirtual

Clones the current SolverSpherePlane instance.

Returns
A pointer to the cloned SolverSpherePlane instance.

Implements netdem::CollisionSolverPW.

◆ Detect()

bool netdem::SolverSpherePlane::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 netdem::SolverSpherePlane::Init ( Particle *const p,
Wall *const w )
overridevirtual

Initializes the SolverSpherePlane 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 netdem::SolverSpherePlane::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 netdem::SolverSpherePlane::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 netdem::SolverSpherePlane::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 netdem::SolverSpherePlane::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: