#pragma once #include namespace kel { namespace lbm { namespace sch { using namespace saw::schema; template using ParticleRigidBody = Struct< Member, "position">, Member, "velocity">, Member, "acceleration">, Member, "rotate_velocity">, Member, "rotate_acceleration"> >; template using ParticleMask = Struct< Member, "grid"> >; template using Particle = Struct< Member, "rigid_body">, Member, "mask"> >; } template class particle_system { private: saw::data> particles_; public: void step(T time_step_delta){ for(auto& iter : particles_){ verlet_step(time_step_delta); } } template void update_mask(saw::data& latt){ for(auto& iter : particles_){ } } }; } }