allow selecting a list of timesteps. avoid redundant code

This commit is contained in:
Axel Kohlmeyer
2022-08-20 10:26:48 -04:00
parent 77ad9719b3
commit bd5dea0d07

View File

@ -38,6 +38,7 @@ d.map(1,"id",3,"x") assign names to atom columns (1-N)
d.tselect.all() select all timesteps d.tselect.all() select all timesteps
d.tselect.one(N) select only timestep N d.tselect.one(N) select only timestep N
d.tselect.one(N1,N2,N3) select only timestep N1,N2,N3
d.tselect.none() deselect all timesteps d.tselect.none() deselect all timesteps
d.tselect.skip(M) select every Mth step d.tselect.skip(M) select every Mth step
d.tselect.test("$t >= 100 and $t < 10000") select matching timesteps d.tselect.test("$t >= 100 and $t < 10000") select matching timesteps
@ -1117,24 +1118,23 @@ class tselect:
# -------------------------------------------------------------------- # --------------------------------------------------------------------
def one(self,n): def one(self,*steps):
data = self.data data = self.data
data.nselect = 0
for snap in data.snaps: for snap in data.snaps:
snap.tselect = 0 snap.tselect = 0
for n in steps:
i = data.findtime(n) i = data.findtime(n)
data.snaps[i].tselect = 1 data.snaps[i].tselect = 1
data.nselect = 1 data.nselect += 1
data.aselect.all() data.aselect.all()
print("%d snapshots selected out of %d" % (data.nselect,data.nsnaps)) print("%d snapshots selected out of %d" % (data.nselect,data.nsnaps))
# -------------------------------------------------------------------- # --------------------------------------------------------------------
def none(self): def none(self):
data = self.data self.one()
for snap in data.snaps:
snap.tselect = 0
data.nselect = 0
print("%d snapshots selected out of %d" % (data.nselect,data.nsnaps))
# -------------------------------------------------------------------- # --------------------------------------------------------------------