add autoshift_dxyz and copy()
This commit is contained in:
parent
7cc578cac4
commit
1e4ee5e057
@ -5,6 +5,7 @@ from numpy import diff, floor, ceil, zeros, hstack, newaxis
|
||||
|
||||
import pickle
|
||||
import warnings
|
||||
import copy
|
||||
|
||||
from float_raster import raster
|
||||
|
||||
@ -169,6 +170,16 @@ class Grid(object):
|
||||
dxyz = self.shifted_dxyz(which_shifts)
|
||||
return [exyz[a][:-1] + dxyz[a] / 2.0 for a in range(3)]
|
||||
|
||||
def autoshifted_dxyz(self):
|
||||
"""
|
||||
Return cell widths, with each dimension shifted by the corresponding shifts.
|
||||
|
||||
:return: [grid.shifted_dxyz(which_shifts=a)[a] for a in range(3)]
|
||||
"""
|
||||
if len(self.grids) != 3:
|
||||
raise GridError('autoshifting requires exactly 3 grids')
|
||||
return [self.shifted_dxyz(which_shifts=a)[a] for a in range(3)]
|
||||
|
||||
def ind2pos(self,
|
||||
ind: numpy.ndarray or List,
|
||||
which_shifts: int = None,
|
||||
@ -346,6 +357,14 @@ class Grid(object):
|
||||
with open(filename, 'wb') as f:
|
||||
pickle.dump(self.__dict__, f, protocol=2)
|
||||
|
||||
def copy(self):
|
||||
"""
|
||||
Return a deep copy of the grid.
|
||||
|
||||
:return: Deep copy of the grid.
|
||||
"""
|
||||
return copy.deepcopy(self)
|
||||
|
||||
def draw_polygons(self,
|
||||
surface_normal: Direction or int,
|
||||
center: List or numpy.ndarray,
|
||||
|
Loading…
Reference in New Issue
Block a user