<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">I think I found my mistake.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">tl;dr: Avoid passing <span style="color:rgb(0,0,0);font-size:12px;line-height:21px">vtkPolyhedrons polydatas directly to algorithms. Copy the data before instead.</span></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">The problem was in this part of the code:</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default"><ol style="font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;margin:0px;padding:0px 0px 0px 48px;color:rgb(172,172,172);font-size:12px;line-height:21px;background-color:rgb(248,248,248)"><li class=""><div class="" style="padding:0px 5px;vertical-align:top;color:rgb(0,0,0);border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);background:rgb(255,255,255)">cell <span class="" style="color:rgb(102,204,102)">=</span> unstructured_grid.<span class="">GetCell</span><span class="">(</span><span class="" style="color:rgb(255,69,0)">0</span><span class="">)</span></div></li><li class=""><div class="" style="padding:0px 5px;vertical-align:top;color:rgb(0,0,0);border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);background:rgb(255,255,255)">normals <span class="" style="color:rgb(102,204,102)">=</span> vtk.<span class="">vtkPolyDataNormals</span><span class="">(</span><span class="">)</span></div></li><li class=""><div class="" style="padding:0px 5px;vertical-align:top;color:rgb(0,0,0);border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);background:rgb(255,255,255)">normals.<span class="">SetInputData</span><span class="">(</span>cell.<span class="">GetPolyData</span><span class="">(</span><span class="">)</span><span class="">)</span></div></li></ol><div><font color="#000000" face="Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, monospace, serif"><span style="font-size:12px;line-height:21px"><br></span></font></div><div><font color="#000000" face="verdana, sans-serif"><span style="font-size:12px;line-height:21px">The cell variable here is not a vtkCell, but a vtkPolyhedron. The problem is that by doing this downcast it loses information when trying to copy the vtkPolyData with a DeepCopy(polys) (this is done inside the normals algorithm), I think this is because by construction all vtkPolyhedron uses the first element of the ID as the number of elements to come, and the last element has not been correctly allocated.</span></font></div><div><br></div><div>It is easy to reproduce the DeepCopy bug. But lesson learned: Never get the PolyData directly from an vtkPolyhedron.</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-03-05 18:20 GMT-03:00 Tarcísio Fischer <span dir="ltr"><<a href="mailto:tarcisio.fischer.cco@gmail.com" target="_blank">tarcisio.fischer.cco@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Hello.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I'm trying to get the normals of my 3D cube (a VTK_POLYHEDRON cell) with vtk6.1 in python.</div><div class="gmail_default" style="font-family:verdana,sans-serif">I know that there is many questions about the normals orientation, but this is not the case. The problem is that it seems one of the normals is completely wrong, as I will show in my example code.</div><div class="gmail_default" style="font-family:verdana,sans-serif">To try to keep it simple, I'll separate the code in three parts:<br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">1- Only the part where I think the problem is:</div><div class="gmail_default"><font face="verdana, sans-serif"><a href="http://pastebin.com/2SW5q4n2" target="_blank">http://pastebin.com/2SW5q4n2</a></font><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">2- The full code so that everyone can run:</div><div class="gmail_default"><font face="verdana, sans-serif"><a href="http://pastebin.com/DH3ei1XD" target="_blank">http://pastebin.com/DH3ei1XD</a></font><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">3- Extended code with some internals exposed (with odd results!):<br>(Take a look at <span style="color:rgb(128,128,128);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;font-style:italic;line-height:21px">Trying to view data internals</span>)</div><div class="gmail_default"><font face="verdana, sans-serif"><a href="http://pastebin.com/BYEkhiqc" target="_blank">http://pastebin.com/BYEkhiqc</a></font><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Can someone help me? What am I missing here?<br>Thanks.</div></div>
</blockquote></div><br></div>