diff options
Diffstat (limited to 'silx/gui/plot3d/items')
-rw-r--r-- | silx/gui/plot3d/items/_pick.py | 4 | ||||
-rw-r--r-- | silx/gui/plot3d/items/core.py | 54 | ||||
-rw-r--r-- | silx/gui/plot3d/items/mixins.py | 1 | ||||
-rw-r--r-- | silx/gui/plot3d/items/volume.py | 2 |
4 files changed, 31 insertions, 30 deletions
diff --git a/silx/gui/plot3d/items/_pick.py b/silx/gui/plot3d/items/_pick.py index 8494723..0d6a495 100644 --- a/silx/gui/plot3d/items/_pick.py +++ b/silx/gui/plot3d/items/_pick.py @@ -1,7 +1,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2018-2019 European Synchrotron Radiation Facility +# Copyright (c) 2018-2020 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -197,7 +197,7 @@ class PickingResult(_PickingResult): super(PickingResult, self).__init__(item, indices) self._objectPositions = numpy.array( - positions, copy=False, dtype=numpy.float) + positions, copy=False, dtype=numpy.float64) # Store matrices to generate positions on demand primitive = item._getScenePrimitive() diff --git a/silx/gui/plot3d/items/core.py b/silx/gui/plot3d/items/core.py index 1745b2b..ab2ceb6 100644 --- a/silx/gui/plot3d/items/core.py +++ b/silx/gui/plot3d/items/core.py @@ -1,7 +1,7 @@ # coding: utf-8 # /*########################################################################## # -# Copyright (c) 2017-2018 European Synchrotron Radiation Facility +# Copyright (c) 2017-2020 European Synchrotron Radiation Facility # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -400,32 +400,32 @@ class DataItem3D(Item3D): self._updated(Item3DChangedType.TRANSFORM) def setRotationCenter(self, x=0., y=0., z=0.): - """Set the center of rotation of the item. - - Position of the rotation center is either a float - for an absolute position or one of the following - string to define a position relative to the item's bounding box: - 'lower', 'center', 'upper' - - :param x: rotation center position on the X axis - :rtype: float or str - :param y: rotation center position on the Y axis - :rtype: float or str - :param z: rotation center position on the Z axis - :rtype: float or str - """ - center = [] - for position in (x, y, z): - if isinstance(position, six.string_types): - assert position in self._ROTATION_CENTER_TAGS - else: - position = float(position) - center.append(position) - center = tuple(center) - - if center != self._rotationCenter: - self._rotationCenter = center - self._updateRotationCenter() + """Set the center of rotation of the item. + + Position of the rotation center is either a float + for an absolute position or one of the following + string to define a position relative to the item's bounding box: + 'lower', 'center', 'upper' + + :param x: rotation center position on the X axis + :rtype: float or str + :param y: rotation center position on the Y axis + :rtype: float or str + :param z: rotation center position on the Z axis + :rtype: float or str + """ + center = [] + for position in (x, y, z): + if isinstance(position, six.string_types): + assert position in self._ROTATION_CENTER_TAGS + else: + position = float(position) + center.append(position) + center = tuple(center) + + if center != self._rotationCenter: + self._rotationCenter = center + self._updateRotationCenter() def getRotationCenter(self): """Returns the rotation center set by :meth:`setRotationCenter`. diff --git a/silx/gui/plot3d/items/mixins.py b/silx/gui/plot3d/items/mixins.py index 14cafc8..f512365 100644 --- a/silx/gui/plot3d/items/mixins.py +++ b/silx/gui/plot3d/items/mixins.py @@ -141,6 +141,7 @@ class ColormapMixIn(_ColormapMixIn): self.__sceneColormap.norm = colormap.getNormalization() self.__sceneColormap.gamma = colormap.getGammaNormalizationParameter() self.__sceneColormap.range_ = colormap.getColormapRange(self) + self.__sceneColormap.nancolor = rgba(colormap.getNaNColor()) class ComplexMixIn(_ComplexMixIn): diff --git a/silx/gui/plot3d/items/volume.py b/silx/gui/plot3d/items/volume.py index 6c6562f..f80fea2 100644 --- a/silx/gui/plot3d/items/volume.py +++ b/silx/gui/plot3d/items/volume.py @@ -444,7 +444,7 @@ class Isosurface(Item3D): return None # No intersected triangles intersections = numpy.array(intersections)[numpy.argsort(depths)] - indices = numpy.transpose(numpy.round(intersections).astype(numpy.int)) + indices = numpy.transpose(numpy.round(intersections).astype(numpy.int64)) return PickingResult(self, positions=intersections, indices=indices) |