Commit 5fe3545109fc3e09e87894441f235da87d42cf6d

Authored by tatiana
1 parent 89814612

ADD: X3D export support

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|"\