21#ifndef ABSTRACT_PARTICLE_H
22#define ABSTRACT_PARTICLE_H
29template <
class T,
unsigned Dim>
85 virtual void destroy(
size_t,
size_t,
bool =
false) = 0;
ParticleLayout< T, Dim >::SingleParticlePos_t SingleParticlePos_t
virtual void create(size_t)=0
virtual ParticleBConds< Position_t, Dim > & getBConds()=0
virtual ~AbstractParticle()
ParticleLayout< T, Dim > Layout_t
virtual void globalCreate(size_t np)=0
ParticleLayout< T, Dim >::Index_t Index_t
virtual void setTotalNum(size_t n)=0
virtual void setUpdateFlag(UpdateFlags f, bool val)=0
virtual void addAttribute(ParticleAttribBase &pa)=0
virtual void setLocalNum(size_t n)=0
virtual void setBConds(const ParticleBConds< Position_t, Dim > &bc)=0
virtual const Layout_t & getLayout() const =0
ParticleLayout< T, Dim >::UpdateFlags UpdateFlags
virtual size_t getTotalNum() const =0
virtual size_t getLocalNum() const =0
virtual bool singleInitNode() const =0
ParticleAttrib< SingleParticlePos_t > ParticlePos_t
virtual void createWithID(unsigned id)=0
virtual void destroy(size_t, size_t, bool=false)=0
virtual bool getUpdateFlag(UpdateFlags f) const =0
virtual Layout_t & getLayout()=0
ParticleLayout< T, Dim >::Position_t Position_t
virtual void performDestroy(bool updateLocalNum=false)=0
virtual void ghostDestroy(size_t M, size_t I)=0
virtual void update(const ParticleAttrib< char > &canSwap)=0
virtual size_t getGhostNum() const =0
ParticleAttrib< Index_t > ParticleIndex_t
virtual size_t getDestroyNum() const =0