[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