<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:'times new roman', 'new york', times, serif;font-size:12pt"><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font class="Apple-style-span" color="#0000FF"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">Hi Everyone,</span></font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font class="Apple-style-span" color="#0000FF"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><font class="Apple-style-span" face="Helvetica" size="3"><span
 class="Apple-style-span" style="font-size: 12px; "><br></span></font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font class="Apple-style-span" color="#0000FF"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">I'm having a heck of a time getting this little application to work correctly. Here's the problem I'm having: after splitting the polydata and assigning each part an actor. I'd like to get the world position of each actor so that I can then run an&nbsp;</span></font></span></font>vtkIterativeClosestPointTransform&nbsp;<font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">and know what the transformation matrix is
 from one of the actors to another.&nbsp;</span></font><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; ">So I've used vtkActor-&gt;GetPosition() which according to all the documentation I've found should return the actor's world coordinates. But each actor returns&nbsp;(0.0, 0.0, 0.0). Since they are not all on top of each other at the origin, I don't see how this could be correct.&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font class="Apple-style-span" color="#0000FF"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; "><br></span></font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font:
 normal normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font class="Apple-style-span" color="#0000FF"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">I know I must be missing something... any help would be sincerely appreciated.&nbsp;</span></font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font class="Apple-style-span" color="#0000FF"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; "><br></span></font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal
 normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font class="Apple-style-span" color="#0000FF"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">Thank you,</span></font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font class="Apple-style-span" color="#0000FF"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">Mark</span></font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font
 class="Apple-style-span" color="#0000FF"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; "><br></span></font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font class="Apple-style-span" color="#0000FF"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">&lt;code snippet follows&gt;</span></font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; font-size: medium; "><font class="Apple-style-span" color="#0000FF"><br></font></div><div
 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span style="color: rgb(0, 0, 255); "><span class="Apple-style-span" style="font-size: small;">def</span></span><span class="Apple-style-span" style="font-size: small;">&nbsp;splitParts(polydata):</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; conn = vtk.vtkPolyDataConnectivityFilter()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; conn.SetInput(polydata)</span></div><div style="margin-top: 0px; margin-right: 0px;
 margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; conn.SetExtractionModeToAllRegions()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; conn.Update()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp;
 nregions = conn.GetNumberOfExtractedRegions()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; conn.SetExtractionModeToSpecifiedRegions()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; conn.Update()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal
 11px/normal Monaco; min-height: 15px; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; polydata_collection = []</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255); "><span class="Apple-style-span"
 style="font-size: small;">for</span></span><span class="Apple-style-span" style="font-size: small;">&nbsp;region&nbsp;</span><span style="color: rgb(0, 0, 255); "><span class="Apple-style-span" style="font-size: small;">in</span></span><span class="Apple-style-span" style="font-size: small;">&nbsp;xrange(nregions):</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; &nbsp; &nbsp; conn.InitializeSpecifiedRegionList()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; &nbsp; &nbsp; conn.AddSpecifiedRegion(region)</span></div><div style="margin-top: 0px; margin-right: 0px;
 margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; &nbsp; &nbsp; conn.Update()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; &nbsp; &nbsp; p = vtk.vtkPolyData()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size:
 small;">&nbsp; &nbsp; &nbsp; &nbsp; p.DeepCopy(conn.GetOutput())</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; &nbsp; &nbsp; p.Update()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; &nbsp; &nbsp; polydata_collection.append(p)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;
 font: normal normal normal 11px/normal Monaco; min-height: 15px; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255); "><span class="Apple-style-span" style="font-size: small;">return</span></span><span class="Apple-style-span" style="font-size: small;">&nbsp;polydata_collection</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal
 normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">reader = vtk.vtkXMLPolyDataReader()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(0, 189, 0); font-family: Helvetica; "><span style="color: rgb(0, 0, 0); "><span class="Apple-style-span" style="font-size: small;">reader.SetFileName(</span></span><span class="Apple-style-span" style="font-size: small;">'Model.</span><span style="text-decoration: underline; "><span class="Apple-style-span" style="font-size: small;">vtp</span></span><span class="Apple-style-span" style="font-size: small;">'</span><span style="color: rgb(0, 0, 0); "><span class="Apple-style-span" style="font-size: small;">)&nbsp;</span></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal
 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">reader.Update();</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">polydataCollection = splitParts(reader.GetOutput())</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">actorCollection = [] &nbsp; &nbsp;</span></div><div style="margin-top: 0px;
 margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; min-height: 15px; font-family: Helvetica; "><span style="color: rgb(0, 0, 255); "><span class="Apple-style-span" style="font-size: small;">for</span></span><span class="Apple-style-span" style="font-size: small;">&nbsp;item&nbsp;</span><span style="color: rgb(0, 0, 255); "><span class="Apple-style-span" style="font-size: small;">in</span></span><span class="Apple-style-span" style="font-size: small;">&nbsp;xrange(len(polydataCollection)):</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span
 class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; mapper = vtk.vtkPolyDataMapper()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; mapper.SetInput(polydataCollection[item])</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; color: rgb(203, 203, 203); font-family: Helvetica; "><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><span class="Apple-style-span" style="font-size: small;">&nbsp;&nbsp; &nbsp;</span></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp;
 actor = vtk.vtkActor()</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp; &nbsp; actor.SetMapper(mapper)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp;&nbsp; &nbsp;actorCollection.append(actor)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp;&nbsp; &nbsp;ren.AddActor(actor)</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal
 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;"><br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Monaco; font-family: Helvetica; "><span class="Apple-style-span" style="font-size: small;">&nbsp;&nbsp; &nbsp;</span><span class="Apple-style-span" style="color: rgb(0, 0, 255); "><span class="Apple-style-span" style="font-size: small;">print</span></span><span class="Apple-style-span" style="font-size: small;">&nbsp;actor.GetPosition()</span></div></div><div><br></div><div style="position:fixed"></div>


</div><br>

      </body></html>