<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=FR link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US>Hi all,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>I have a structured grid, that I cut using a vtkCutter. This part is working well, but I would now like to connect this vtkCutter to a vtkPNGWriter or any image writer that would allow me to put the resulting plane into an image in memory, in order to use it elsewhere. Is it possible? If yes, what should I use to connect them?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>I join a minimal test case of what I am doing to obtain the vtkCutter I would like to extract, in case it is of some interest (sorry it is in Java&#8230;).<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>Regards,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US>Frederic<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>public static void main(String[] args) throws InterruptedException, InvocationTargetException {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; final vtkRenderWindowPanel rwp = new vtkRenderWindowPanel();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; vtkPoints pts = new vtkPoints();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; for(int i = 0; i &lt; 3; ++i) {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int j = 0; j &lt; 3; ++j) {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int k = 0; k &lt; 3; ++k) {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pts.InsertNextPoint(k, j, i);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; Random rand = new Random();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; vtkDoubleArray scalars = new vtkDoubleArray();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; for(int i = 0; i &lt; 27; ++i) {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scalars.InsertNextValue(rand.nextInt(100));<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; vtkStructuredGrid grid = new vtkStructuredGrid();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; grid.SetDimensions(3, 3, 3);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; grid.SetPoints(pts);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; grid.GetPointData().SetScalars(scalars);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; vtkDataSetMapper mapper = new vtkDataSetMapper();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; mapper.SetInputData(grid);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; mapper.SetScalarRange(scalars.GetRange()[0], scalars.GetRange()[1]);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; vtkPlane plane = new vtkPlane();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; plane.SetNormal(new double[] { 0, 1, 0 });<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; vtkCutter cutter = new vtkCutter();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; cutter.SetInputData(grid);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; cutter.SetCutFunction(plane);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; cutter.SetValue(0, 0.5);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; vtkDataSetMapper cutterMapper = new vtkDataSetMapper();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; cutterMapper.SetInputConnection(cutter.GetOutputPort());<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; cutterMapper.SetScalarRange(scalars.GetRange()[0], scalars.GetRange()[1]);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; final vtkActor gridAct = new vtkActor();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; gridAct.SetMapper(mapper);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; gridAct.GetProperty().SetOpacity(0.2);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; final vtkActor cutActor = new vtkActor();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; cutActor.SetMapper(cutterMapper);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; EventQueue.invokeAndWait(new Runnable() {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @Override<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void run() {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JFrame frame = new JFrame();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkRenderer r = rwp.GetRenderer();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r.AddActor(gridAct);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r.AddActor(cutActor);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; frame.setLayout(new BorderLayout());<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; frame.add(rwp, BorderLayout.CENTER);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; frame.setVisible(true);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>&nbsp;&nbsp;&nbsp; });<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-family:"Courier New"'>}<o:p></o:p></span></p></div><p class="ecxMsoNormal" style="line-height: 19px; margin: 0px 0px 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; color: #2a2a2a; ">*******************************</p><p class="ecxMsoNormal" style="line-height: 19px; margin: 0px 0px 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; color: #2a2a2a; "><span lang="EN-GB" style="line-height: 17px; font-size: 10pt; color: black; font-family: Arial; ">This e-mail contains information for the intended recipient only. It may contain proprietary material or&nbsp;confidential information. If you are not the intended recipient you are not authorised to&nbsp;distribute, copy or use this e-mail or any attachment to it.&nbsp;</span><span style="font-family: Arial" color="black" size="2"><span style="line-height: 17px; font-size: 10pt; ">Murex&nbsp;cannot guarantee that it is virus free and accepts no responsibility for any loss or damage arising from its use.&nbsp;If you have received this e-mail in error please&nbsp;notify immediately&nbsp;the sender&nbsp;and&nbsp;delete the original email received, any attachments and all copies from your system.</span></span></p></body></html>