Particle insertion is added with anyList

- collision check is not active yet.
- variable velocity is not active yet.
- events and messages are not active yet.
This commit is contained in:
Hamidreza Norouzi
2024-04-12 22:39:09 -07:00
parent 97f0ddf82e
commit 9c2a9a81b0
71 changed files with 1878 additions and 1534 deletions

View File

@ -0,0 +1,50 @@
#include "regularParticleIdHandler.hpp"
pFlow::regularParticleIdHandler::regularParticleIdHandler
(
pointStructure& pStruct
)
:
particleIdHandler(pStruct)
{
}
pFlow::Pair<pFlow::uint32, pFlow::uint32>
pFlow::regularParticleIdHandler::getIdRange(uint32 nNewParticles)
{
uint32 startId;
if(maxId_==-1)
{
startId = 0;
}
else
{
startId = maxId_+1;
}
uint32 endId = startId+nNewParticles-1;
maxId_ = endId;
return {startId, endId};
}
bool pFlow::regularParticleIdHandler::initialIdCheck()
{
/// empty point structure / no particles in simulation
if( pStruct().empty() ) return true;
uint32 maxId = max( *this );
/// particles should get ids from 0 to size-1
if(maxId == -1)
{
fillSequence(*this,0u);
maxId_ = size()-1;
}
else
{
maxId_ = maxId;
}
return true;
}