SPH
|
Handler displacing the overlapping particles so that they just touch. More...
#include <Collision.h>
Public Member Functions | |
RepelHandler (const RunSettings &settings) | |
virtual void | initialize (Storage &storage) override |
virtual bool | overlaps (const Size UNUSED(i), const Size UNUSED(j)) const override |
virtual void | handle (const Size i, const Size j, FlatSet< Size > &toRemove) override |
Handles the overlap of two particles. More... | |
Public Member Functions inherited from IOverlapHandler | |
virtual bool | overlaps (const Size i, const Size j) const =0 |
Returns true if two particles overlaps. More... | |
Public Member Functions inherited from Polymorphic | |
virtual | ~Polymorphic () |
Handler displacing the overlapping particles so that they just touch.
Particles are moved alongside their relative position vector. They must not overlap perfectly, as in such a case the displacement direction is undefined. The handler is templated, allowing to specify a followup handler that is applied after the particles have been moved. This can be another IOverlapHandler, but also a ICollisionHandler, as the two interfaces are similar.
Definition at line 420 of file Collision.h.
|
inlineexplicit |
Definition at line 428 of file Collision.h.
|
inlineoverridevirtual |
Handles the overlap of two particles.
When called, the particles must actually overlap (overlaps must return true). This is checked by assert.
Implements IOverlapHandler.
Definition at line 444 of file Collision.h.
|
inlineoverridevirtual |
Implements IOverlapHandler.
Definition at line 431 of file Collision.h.
|
inlineoverridevirtual |
Definition at line 439 of file Collision.h.