public void SetMesh(SimpleSim integrator) { _meshBuilder.Clear(); for (var i = 0; i < renderedSimElemIdx.Count; ++i) { var elem = integrator.GetSimElementAt(renderedSimElemIdx[i]); var mat = elem.GetMatrix(); _meshBuilder.AddQuad( mat * particlePositions[0], mat * particlePositions[1], mat * particlePositions[2], mat * particlePositions[3] ); _meshBuilder.AddQuadUV( particleUVs[0], particleUVs[1], particleUVs[2], particleUVs[3] ); _meshBuilder.AddQuadColor(Color.white); } _meshBuilder.Apply(); _filter.mesh = _meshBuilder.mesh; }
public static List <Particle> GetParticlesByIdx(List <int> particleIdxs, SimpleSim sim) { List <Particle> particles = new List <Particle>(particleIdxs.Count); for (var i = 0; i < particleIdxs.Count; ++i) { particles.Add(sim.GetSimElementAt(i) as Particle); } return(particles); }
public void SetSimulator(SimpleSim sim) { _sim = sim; }