def Show(self): ps = ParticleSpace() for i, filename in enumerate(self.filenames): ps = load_particles_from_csv(filename, ps) if not self.Update(i): return None return ps
def load_particles_from_csv(filename, ps=None): if not os.path.isfile(filename): return ps if ps is None: ps = ParticleSpace() fin = open(filename, 'r') try: line = fin.readline() # skip the first line reader = csv.reader(fin) for row in reader: pos = [float(column) for column in row[:3]] radius = float(row[3]) pid = row[4] # eval(row[4]) sid = row[5] # eval(row[5]) ps.add_particle(pid, Particle(sid, pos, radius)) finally: fin.close() return ps
def load_particles_from_csv(filename, ps=None): if not os.path.isfile(filename): return ps if ps is None: ps = ParticleSpace() fin = open(filename, 'r') try: line = fin.readline() # skip the first line reader = csv.reader(fin) for row in reader: pos = [float(column) for column in row[: 3]] radius = float(row[3]) pid = row[4] # eval(row[4]) sid = row[5] # eval(row[5]) ps.add_particle(pid, Particle(sid, pos, radius)) finally: fin.close() return ps
def fetch_particle_space(self, **kwargs): """Property getter for particle_space """ self.kwargs_cache = kwargs particle_space = self.parent.request_data(ParticleSpaceSpec, **kwargs) if particle_space is None: return None if self.sid_list is None: self.update_list(**kwargs) sids = set(particle_space.species) - set(self.ignore_list) if len(sids) == 0: return None filtered = ParticleSpace() for sid in sids: stride = particle_space.num_particles(sid) // self.max_num_particles + 1 for pid, particle in particle_space.list_particles(sid)[: : stride]: filtered.add_particle(pid, particle) return filtered
def fetch_particle_space(self, **kwargs): """Property getter for particle_space """ self.kwargs_cache = kwargs particle_space = self.parent.request_data(ParticleSpaceSpec, **kwargs) if particle_space is None: return None if self.sid_list is None: self.update_list(**kwargs) sids = set(particle_space.species) - set(self.ignore_list) if len(sids) == 0: return None filtered = ParticleSpace() for sid in sids: stride = particle_space.num_particles( sid) // self.max_num_particles + 1 for pid, particle in particle_space.list_particles(sid)[::stride]: filtered.add_particle(pid, particle) return filtered