Esempio n. 1
0
    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
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
    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
Esempio n. 5
0
    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