[vtk-developers] vtkRIBExporter - python example
Nicholas Yue
yue.nicholas at gmail.com
Sat Dec 28 20:17:09 EST 2013
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20131229/fa847d84/attachment.html>
More information about the vtk-developers
mailing list