本文整理汇总了C++中ParticleIterator::hasNext方法的典型用法代码示例。如果您正苦于以下问题:C++ ParticleIterator::hasNext方法的具体用法?C++ ParticleIterator::hasNext怎么用?C++ ParticleIterator::hasNext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParticleIterator
的用法示例。
在下文中一共展示了ParticleIterator::hasNext方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv) {
NaiveParticlePool<struct simpleParticle>* pool = new NaiveParticlePool<struct simpleParticle>(NUM_PARTICLES);
SimpleParticleInitializer* init = new SimpleParticleInitializer();
SimpleParticleUpdater* update = new SimpleParticleUpdater(100);
Curve<long,long>* c = new ConstantCurve(400);
ParticleSystem<struct simpleParticle>* system = new ParticleSystem<struct simpleParticle>(pool,init,update,c,false);
testParticleSystem(system,&valFunc,c,pool,NUM_PARTICLES,30);
printf("Hello world!\n");
printf("Managed to create curve on stack.\n");
printf("Curve gives value %ld for input 45.\n", c->getValue(45));
//struct simpleParticle** readParticles = (struct simpleParticle**) calloc(NUM_PARTICLES,sizeof(struct simpleParticle*));
size_t currentPos = 0;
for(int i = 0; i < ITER; i++) {
currentPos = 0;
printf("Started step %d of %d for particle system.\n", i + 1,ITER);
system->step();
for(int i = 0; i < NUM_THREADS; i++) startWorkerThread(system);
ParticleIterator<struct simpleParticle>* living = system->getLivingParticles();
struct simpleParticle* part;
while(living->hasNext()) {
part = living->next();
//printf("Particle value: %d\n", part->value);
//if(part->value != i + 1) printf("Read non-updated particle at round %d. %d\n", i + 1, part->value);
//readParticles[currentPos] = part;
currentPos++;
living->done(part);
}
delete living;
printf("%ld Particles this iteration.\n", currentPos);
}
//free(readParticles);
return 0;
}