[vtk-developers] vtkRIBExporter - python example

Bill Lorensen bill.lorensen at gmail.com
Sun Dec 29 08:02:59 EST 2013


Here is a page from the way back machine:

https://web.archive.org/web/20040225050719/http://www.crd.ge.com/~lorensen/vtkrib/
 with several examples in tcl.


On Sat, Dec 28, 2013 at 8:17 PM, Nicholas Yue <yue.nicholas at gmail.com> wrote:
> Hi,
>
>     I was searching for some example as to how one can use the
> vtkRIBExporter.
>
>     Since I didn't find any, I had to prototype something to help me
> understand.
>
>     Here is one I wrote using Python + PyQt4 and VTK (for python).
>
>     Hope it may be useful for others trying things out on the
> photo-realistic rendering aspect.
>
> #!/usr/bin/env python
>
> import sys
> import vtk
> from PyQt4 import QtCore, QtGui
> from vtk.qt4.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
>
> class MainWindow(QtGui.QMainWindow):
>
>     def __init__(self, parent = None):
>         QtGui.QMainWindow.__init__(self, parent)
>
>         self.ribExportAction = QtGui.QAction("Export", self,
> shortcut="Ctrl+E",
>                                              statusTip="Export RIB",
> triggered=self.exportRIB)
>         self.frame = QtGui.QFrame()
>
>         self.vl = QtGui.QVBoxLayout()
>         self.vtkWidget = QVTKRenderWindowInteractor(self.frame)
>         self.vl.addWidget(self.vtkWidget)
>         self.exportRIBButton = QtGui.QPushButton("Export RIB",self)
>         self.exportRIBButton.clicked.connect(self.exportRIB)
>         self.vl.addWidget(self.exportRIBButton)
>         self.ren = vtk.vtkRenderer()
>         self.vtkWidget.GetRenderWindow().AddRenderer(self.ren)
>         self.iren = self.vtkWidget.GetRenderWindow().GetInteractor()
>
>         # Create source
>         source = vtk.vtkSphereSource()
>         source.SetCenter(0, 0, 0)
>         source.SetRadius(5.0)
>
>         # Create a mapper
>         mapper = vtk.vtkPolyDataMapper()
>         mapper.SetInputConnection(source.GetOutputPort())
>
>         # Create an actor
>         actor = vtk.vtkActor()
>         actor.SetMapper(mapper)
>
>         self.ren.AddActor(actor)
>
>         self.ren.ResetCamera()
>
>         self.frame.setLayout(self.vl)
>         self.setCentralWidget(self.frame)
>
>         self.show()
>         self.iren.Initialize()
>
>     def exportRIB(self):
>         renWin = self.vtkWidget.GetRenderWindow()
>         writer = vtk.vtkRIBExporter()
>         writer.SetInput(renWin)
>         writer.SetFilePrefix('./tmp')
>         # writer.SetFilePattern("%s%3d.dcm.raw")
>         writer.Write()
>         writer.Update()
>
> if __name__ == "__main__":
>
>     app = QtGui.QApplication(sys.argv)
>
>     window = MainWindow()
>     window.raise_()
>     sys.exit(app.exec_())
>
> Cheers
>
> --
> Nicholas Yue
> Graphics - RenderMan, Visualization, OpenGL, HDF5
> Custom Dev - C++ porting, OSX, Linux, Windows
> http://au.linkedin.com/in/nicholasyue
> https://vimeo.com/channels/naiadtools
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtk-developers
>
>



-- 
Unpaid intern in BillsBasement at noware dot com



More information about the vtk-developers mailing list