new names consistently used

This commit is contained in:
Martin Diehl 2020-03-02 23:47:29 +01:00
parent 00028724b8
commit 8798dd1af3
2 changed files with 59 additions and 54 deletions

View File

@ -52,15 +52,15 @@ for filename in options.filenames:
table = damask.Table(np.ones(np.product(results.grid),dtype=int)*int(inc[3:]),{'inc':(1,)})
table.add('pos',coords.reshape((-1,3)))
results.set_visible('materialpoints',False)
results.set_visible('constituents', True)
results.pick('materialpoints',False)
results.pick('constituents', True)
for label in options.con:
x = results.get_dataset_location(label)
if len(x) != 0:
table.add(label,results.read_dataset(x,0,plain=True).reshape((results.grid.prod(),-1)))
results.set_visible('constituents', False)
results.set_visible('materialpoints',True)
results.pick('constituents', False)
results.pick('materialpoints',True)
for label in options.mat:
x = results.get_dataset_location(label)
if len(x) != 0:

View File

@ -83,47 +83,48 @@ class Result():
self.fname = fname
def __manage_visible(self,datasets,what,action):
def _manage_selection(self,action,what,datasets):
"""
Manages the visibility of the groups.
Parameters
----------
action : str
select from 'set', 'add', and 'del'
what : str
attribute to change (must be in self.selection)
datasets : list of str or Boolean
name of datasets as list, supports ? and * wildcards.
True is equivalent to [*], False is equivalent to []
what : str
attribute to change (must be in self.selection)
action : str
select from 'set', 'add', and 'del'
"""
# allow True/False and string arguments
if datasets is True:
datasets = ['*']
datasets = ['*']
elif datasets is False:
datasets = []
datasets = []
choice = [datasets] if isinstance(datasets,str) else datasets
valid = [e for e_ in [glob.fnmatch.filter(getattr(self,what),s) for s in choice] for e in e_]
existing = set(self.selection[what])
if action == 'set':
self.selection[what] = valid
self.selection[what] = valid
elif action == 'add':
add=existing.union(valid)
add_sorted=sorted(add, key=lambda x: int("".join([i for i in x if i.isdigit()])))
self.selection[what] = add_sorted
add=existing.union(valid)
add_sorted=sorted(add, key=lambda x: int("".join([i for i in x if i.isdigit()])))
self.selection[what] = add_sorted
elif action == 'del':
diff=existing.difference(valid)
diff_sorted=sorted(diff, key=lambda x: int("".join([i for i in x if i.isdigit()])))
self.selection[what] = diff_sorted
diff=existing.difference(valid)
diff_sorted=sorted(diff, key=lambda x: int("".join([i for i in x if i.isdigit()])))
self.selection[what] = diff_sorted
def __time_to_inc(self,start,end):
selected = []
for i,time in enumerate(self.times):
if start <= time <= end:
selected.append(self.increments[i])
if start <= time <= end:
selected.append(self.increments[i])
return selected
@ -139,7 +140,7 @@ class Result():
end time (included)
"""
self.__manage_visible(self.__time_to_inc(start,end),'increments','set')
self._manage_selection('set','increments',self.__time_to_inc(start,end))
def add_by_time(self,start,end):
@ -154,7 +155,7 @@ class Result():
end time (included)
"""
self.__manage_visible(self.__time_to_inc(start,end),'increments','add')
self._manage_selection('add','increments',self.__time_to_inc(start,end))
def del_by_time(self,start,end):
@ -169,7 +170,7 @@ class Result():
end time (included)
"""
self.__manage_visible(self.__time_to_inc(start,end),'increments','del')
self._manage_selection('del','increments',self.__time_to_inc(start,end))
def set_by_increment(self,start,end):
@ -185,9 +186,9 @@ class Result():
"""
if self.version_minor >= 4:
self.__manage_visible([ 'inc{}'.format(i) for i in range(start,end+1)],'increments','set')
self._manage_selection('set','increments',[ 'inc{}'.format(i) for i in range(start,end+1)])
else:
self.__manage_visible(['inc{:05d}'.format(i) for i in range(start,end+1)],'increments','set')
self._manage_selection('set','increments',['inc{:05d}'.format(i) for i in range(start,end+1)])
def add_by_increment(self,start,end):
@ -203,9 +204,9 @@ class Result():
"""
if self.version_minor >= 4:
self.__manage_visible([ 'inc{}'.format(i) for i in range(start,end+1)],'increments','add')
self._manage_selection('add','increments',[ 'inc{}'.format(i) for i in range(start,end+1)])
else:
self.__manage_visible(['inc{:05d}'.format(i) for i in range(start,end+1)],'increments','add')
self._manage_selection('add','increments',['inc{:05d}'.format(i) for i in range(start,end+1)])
def del_by_increment(self,start,end):
@ -221,80 +222,84 @@ class Result():
"""
if self.version_minor >= 4:
self.__manage_visible([ 'inc{}'.format(i) for i in range(start,end+1)],'increments','del')
self._manage_selection('del','increments',[ 'inc{}'.format(i) for i in range(start,end+1)])
else:
self.__manage_visible(['inc{:05d}'.format(i) for i in range(start,end+1)],'increments','del')
self._manage_selection('del','increments',['inc{:05d}'.format(i) for i in range(start,end+1)])
def iter_visible(self,what):
def iter_selection(self,what):
"""
Iterate over visible items by setting each one visible.
Iterate over selection items by setting each one selected.
Parameters
----------
what : str
attribute to change (must be in self.selection)
attribute to change (must be from self.selection)
"""
datasets = self.selection[what]
last_datasets = datasets.copy()
for dataset in datasets:
if last_datasets != self.selection[what]:
self.__manage_visible(datasets,what,'set')
self._manage_selection('set',what,datasets)
raise Exception
self.__manage_visible(dataset,what,'set')
self._manage_selection('set',what,datasets)
last_datasets = self.selection[what]
yield dataset
self.__manage_visible(datasets,what,'set')
self._manage_selection('set',what,datasets)
def set_visible(self,what,datasets):
def pick(self,what,datasets):
"""
Set active groups.
Set selection.
Parameters
----------
what : str
attribute to change (must be from self.selection)
datasets : list of str or Boolean
name of datasets as list, supports ? and * wildcards.
True is equivalent to [*], False is equivalent to []
what : str
attribute to change (must be in self.selection)
"""
self.__manage_visible(datasets,what,'set')
self._manage_selection('set',what,datasets)
def add_visible(self,what,datasets):
def pick_more(self,what,datasets):
"""
Add to active groups.
Add to selection.
Parameters
----------
what : str
attribute to change (must be from self.selection)
datasets : list of str or Boolean
name of datasets as list, supports ? and * wildcards.
True is equivalent to [*], False is equivalent to []
what : str
attribute to change (must be in self.selection)
"""
self.__manage_visible(datasets,what,'add')
self._manage_selection('add',what,datasets)
def del_visible(self,what,datasets):
def pick_less(self,what,datasets):
"""
Delete from active groupe.
Delete from selection.
Parameters
----------
what : str
attribute to change (must be from self.selection)
datasets : list of str or Boolean
name of datasets as list, supports ? and * wildcards.
True is equivalent to [*], False is equivalent to []
what : str
attribute to change (must be in self.selection)
"""
self.__manage_visible(datasets,what,'del')
self._manage_selection('del',what,datasets)
####################################################################
# for transition compatibility
iter_visible = iter_selection
####################################################################
def groups_with_datasets(self,datasets):
"""
@ -1086,7 +1091,7 @@ class Result():
vtk_data = []
materialpoints_backup = self.selection['materialpoints'].copy()
self.set_visible('materialpoints',False)
self.pick('materialpoints',False)
for label in (labels if isinstance(labels,list) else [labels]):
for p in self.iter_visible('con_physics'):
if p != 'generic':
@ -1112,10 +1117,10 @@ class Result():
vtk_data[-1].SetName(dset_name)
vtk_geom.GetCellData().AddArray(vtk_data[-1])
self.set_visible('materialpoints',materialpoints_backup)
self.pick('materialpoints',materialpoints_backup)
constituents_backup = self.selection['constituents'].copy()
self.set_visible('constituents',False)
self.pick('constituents',False)
for label in (labels if isinstance(labels,list) else [labels]):
for p in self.iter_visible('mat_physics'):
if p != 'generic':
@ -1137,7 +1142,7 @@ class Result():
vtk_data.append(numpy_support.numpy_to_vtk(num_array=array.reshape(shape),deep=True))
vtk_data[-1].SetName('1_'+x[0].split('/',1)[1])
vtk_geom.GetCellData().AddArray(vtk_data[-1])
self.set_visible('constituents',constituents_backup)
self.pick('constituents',constituents_backup)
if mode.lower()=='cell':
writer = vtk.vtkXMLRectilinearGridWriter() if self.structured else \