Commit 5fe3545109fc3e09e87894441f235da87d42cf6d
1 parent
89814612
Exists in
master
and in
6 other branches
ADD: X3D export support
Showing
3 changed files
with
13 additions
and
4 deletions
Show diff stats
invesalius/constants.py
@@ -403,6 +403,7 @@ FILETYPE_VRML = wx.NewId() | @@ -403,6 +403,7 @@ FILETYPE_VRML = wx.NewId() | ||
403 | FILETYPE_OBJ = wx.NewId() | 403 | FILETYPE_OBJ = wx.NewId() |
404 | FILETYPE_VTP = wx.NewId() | 404 | FILETYPE_VTP = wx.NewId() |
405 | FILETYPE_PLY = wx.NewId() | 405 | FILETYPE_PLY = wx.NewId() |
406 | +FILETYPE_X3D = wx.NewId() | ||
406 | 407 | ||
407 | FILETYPE_IMAGEDATA = wx.NewId() | 408 | FILETYPE_IMAGEDATA = wx.NewId() |
408 | 409 |
invesalius/data/viewer_volume.py
@@ -168,7 +168,6 @@ class Viewer(wx.Panel): | @@ -168,7 +168,6 @@ class Viewer(wx.Panel): | ||
168 | def OnExportPicture(self, pubsub_evt): | 168 | def OnExportPicture(self, pubsub_evt): |
169 | ps.Publisher().sendMessage('Begin busy cursor') | 169 | ps.Publisher().sendMessage('Begin busy cursor') |
170 | id, filename, filetype = pubsub_evt.data | 170 | id, filename, filetype = pubsub_evt.data |
171 | - | ||
172 | if id == const.VOLUME: | 171 | if id == const.VOLUME: |
173 | if filetype == const.FILETYPE_POV: | 172 | if filetype == const.FILETYPE_POV: |
174 | renwin = self.interactor.GetRenderWindow() | 173 | renwin = self.interactor.GetRenderWindow() |
@@ -458,6 +457,12 @@ class Viewer(wx.Panel): | @@ -458,6 +457,12 @@ class Viewer(wx.Panel): | ||
458 | writer.SetFileName(filename) | 457 | writer.SetFileName(filename) |
459 | writer.SetInput(renwin) | 458 | writer.SetInput(renwin) |
460 | writer.Write() | 459 | writer.Write() |
460 | + elif filetype == const.FILETYPE_X3D: | ||
461 | + writer = vtk.vtkX3DExporter() | ||
462 | + writer.SetInput(renwin) | ||
463 | + writer.SetFileName(filename) | ||
464 | + writer.Update() | ||
465 | + writer.Write() | ||
461 | elif filetype == const.FILETYPE_OBJ: | 466 | elif filetype == const.FILETYPE_OBJ: |
462 | writer = vtk.vtkOBJExporter() | 467 | writer = vtk.vtkOBJExporter() |
463 | writer.SetFilePrefix(fileprefix) | 468 | writer.SetFilePrefix(fileprefix) |
invesalius/gui/task_exporter.py
@@ -42,7 +42,8 @@ WILDCARD_SAVE_3D = "Inventor (*.iv)|*.iv|"\ | @@ -42,7 +42,8 @@ WILDCARD_SAVE_3D = "Inventor (*.iv)|*.iv|"\ | ||
42 | "STL ASCII (*.stl)|*.stl|"\ | 42 | "STL ASCII (*.stl)|*.stl|"\ |
43 | "VRML (*.vrml)|*.vrml|"\ | 43 | "VRML (*.vrml)|*.vrml|"\ |
44 | "VTK PolyData (*.vtp)|*.vtp|"\ | 44 | "VTK PolyData (*.vtp)|*.vtp|"\ |
45 | - "Wavefront (*.obj)|*.obj" | 45 | + "Wavefront (*.obj)|*.obj|"\ |
46 | + "X3D (*.x3d)|*.x3d" | ||
46 | 47 | ||
47 | INDEX_TO_TYPE_3D = {0: const.FILETYPE_IV, | 48 | INDEX_TO_TYPE_3D = {0: const.FILETYPE_IV, |
48 | 1: const.FILETYPE_PLY, | 49 | 1: const.FILETYPE_PLY, |
@@ -51,7 +52,8 @@ INDEX_TO_TYPE_3D = {0: const.FILETYPE_IV, | @@ -51,7 +52,8 @@ INDEX_TO_TYPE_3D = {0: const.FILETYPE_IV, | ||
51 | 4: const.FILETYPE_STL_ASCII, | 52 | 4: const.FILETYPE_STL_ASCII, |
52 | 5: const.FILETYPE_VRML, | 53 | 5: const.FILETYPE_VRML, |
53 | 6: const.FILETYPE_VTP, | 54 | 6: const.FILETYPE_VTP, |
54 | - 7: const.FILETYPE_OBJ} | 55 | + 7: const.FILETYPE_OBJ, |
56 | + 8: const.FILETYPE_X3D} | ||
55 | INDEX_TO_EXTENSION = {0: "iv", | 57 | INDEX_TO_EXTENSION = {0: "iv", |
56 | 1: "ply", | 58 | 1: "ply", |
57 | 2: "rib", | 59 | 2: "rib", |
@@ -59,7 +61,8 @@ INDEX_TO_EXTENSION = {0: "iv", | @@ -59,7 +61,8 @@ INDEX_TO_EXTENSION = {0: "iv", | ||
59 | 4: "stl", | 61 | 4: "stl", |
60 | 5: "vrml", | 62 | 5: "vrml", |
61 | 6: "vtp", | 63 | 6: "vtp", |
62 | - 7: "obj"} | 64 | + 7: "obj", |
65 | + 8: "x3d"} | ||
63 | 66 | ||
64 | WILDCARD_SAVE_2D = "BMP (*.bmp)|*.bmp|"\ | 67 | WILDCARD_SAVE_2D = "BMP (*.bmp)|*.bmp|"\ |
65 | "JPEG (*.jpg)|*.jpg|"\ | 68 | "JPEG (*.jpg)|*.jpg|"\ |