Commit dfac149772d65f3027b0d3ec70fea5b3bca06348
1 parent
c83af65f
Exists in
master
Verifying if surface has content (vertex and cells) before trying to export to a file
Showing
1 changed file
with
11 additions
and
1 deletions
Show diff stats
invesalius/data/surface.py
| @@ -876,7 +876,14 @@ class SurfaceManager(): | @@ -876,7 +876,14 @@ class SurfaceManager(): | ||
| 876 | os.remove(_temp_file) | 876 | os.remove(_temp_file) |
| 877 | 877 | ||
| 878 | temp_file = utl.decode(temp_file, const.FS_ENCODE) | 878 | temp_file = utl.decode(temp_file, const.FS_ENCODE) |
| 879 | - self._export_surface(temp_file, filetype) | 879 | + try: |
| 880 | + self._export_surface(temp_file, filetype) | ||
| 881 | + except ValueError: | ||
| 882 | + if wx.GetApp() is None: | ||
| 883 | + print("It was not possible to export the surface because the surface is empty") | ||
| 884 | + else: | ||
| 885 | + wx.MessageBox(_("It was not possible to export the surface because the surface is empty"), _("Export surface error")) | ||
| 886 | + return | ||
| 880 | 887 | ||
| 881 | shutil.move(temp_file, filename) | 888 | shutil.move(temp_file, filename) |
| 882 | 889 | ||
| @@ -903,6 +910,9 @@ class SurfaceManager(): | @@ -903,6 +910,9 @@ class SurfaceManager(): | ||
| 903 | else: | 910 | else: |
| 904 | polydata = pu.Merge(polydata_list) | 911 | polydata = pu.Merge(polydata_list) |
| 905 | 912 | ||
| 913 | + if polydata.GetNumberOfPoints() == 0: | ||
| 914 | + raise ValueError | ||
| 915 | + | ||
| 906 | # Having a polydata that represents all surfaces | 916 | # Having a polydata that represents all surfaces |
| 907 | # selected, we write it, according to filetype | 917 | # selected, we write it, according to filetype |
| 908 | if filetype == const.FILETYPE_STL: | 918 | if filetype == const.FILETYPE_STL: |