<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
<!--
@font-face
        {font-family:SimSun}
@font-face
        {font-family:SimSun}
@font-face
        {font-family:Calibri}
@font-face
        {font-family:Tahoma}
@font-face
        {font-family:"\@SimSun"}
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif"}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline}
span.E-MailFormatvorlage17
        {font-family:"Calibri","sans-serif";
        color:windowtext}
.MsoChpDefault
        {font-family:"Calibri","sans-serif"}
@page WordSection1
        {margin:70.85pt 70.85pt 2.0cm 70.85pt}
div.WordSection1
        {}
-->
</style>
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">How to Get Active Selection and Extract it?</span></p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Hello,</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">I&#8217;m struggling with a problem.</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">I want to write a filter, that copies selected points form a vtkPolyData into a vtkDataObject without using the apply button, I try to use 3 custom buttons in order to copy
 the data into different Objects. Aim is to access the point data of the selected points. I&#8217;ve already tried this in Python and it works as expected.
</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Doing the same in C&#43;&#43; doesn&#8217;t seem as straight forward as it was in Python&#8230;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">How can I pass the output port from a vtkSMSourceProxy to a vtkAlgorithm input port. Is there any way to do that?</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">My code looks very similar to this:</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; vtkSMProxyManager* pxm = vtkSMProxyManager::GetProxyManager();</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;
</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;vtkSMSessionProxyManager* spxm = pxm-&gt;GetActiveSessionProxyManager();</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; vtkSMProxySelectionModel* selmodel = spxm-&gt;GetSelectionModel(&quot;ActiveSources&quot;);</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; vtkSmartPointer&lt;vtkSMSourceProxy&gt; FilterProxy =</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkSMSourceProxy::SafeDownCast(selmodel-&gt;GetCurrentProxy());</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; vtkSmartPointer&lt;vtkSMSourceProxy&gt; SourceProxy =</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkSMSourceProxy::SafeDownCast(FilterProxy-&gt;GetProducerProxy((uint)0));</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; vtkSmartPointer&lt;vtkSMSourceProxy&gt; active_selection =</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkSMSourceProxy::SafeDownCast(SourceProxy-&gt;GetSelectionInput(0));</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; vtkSmartPointer&lt;vtkExtractSelection&gt; ExtrSelFltr = vtkSmartPointer&lt;vtkExtractSelection&gt;::New();</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; ExtrSelFltr-&gt;</span>
<span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">SetInputConnection(0, this-&gt;GetInputAlgorithm()-&gt;GetOutputPort((uint)0));</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; ExtrSelFltr-&gt;</span>
<span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">SetInputConnection(1, active_selection-&gt;GetOutputPort((uint)0));&nbsp;&nbsp; //Not the right way!</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp; ExtrSelFltr-&gt;Update();</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">The functionality I want to implement written in Python:</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">def GetSelectionSource(proxy=None):</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp; &quot;&quot;&quot;If a selection has exists for the proxy (if proxy is not specified then</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the active source is used), returns that selection source&quot;&quot;&quot;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp; if not proxy:</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proxy = GetActiveSource()</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp; if not proxy:</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; raise RuntimeError, \</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;GetSelectionSource() needs a proxy argument of that an active source is set.&quot;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp; return proxy.GetSelectionInput(proxy.Port)</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp;
</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">active_selection = GetSelectionSource()</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"># Create extract selection</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Extr_Sel = ExtractSelection(Selection=active_selection)</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"># Access raw data of Extr_Sel</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Extr_Sel_raw = servermanager.Fetch(Extr_Sel)</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Any comment is appreciated and</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">thanks in advance.</span></p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal" style="text-autospace:none"><span lang="DE" style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Mit freundlichen Gruessen / Best regards<b></b></span></p>
<p class="MsoNormal" style="text-autospace:none"><b><span lang="DE" style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Martin Schröder,</span></b><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"> FIEA</span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">MTU Aero Engines GmbH</span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Engineering Systems (CAE)</span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="DE" style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Dachauer Str. 665</span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="DE" style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">80995 Muenchen</span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="DE" style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Germany</span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="DE" style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">&nbsp;</span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="DE" style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Tel&nbsp; &#43;49 (0)89&nbsp; 14 89 57 20</span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Fax&nbsp; &#43;49 (0)89&nbsp; 14 89-96 89 4</span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="DE" style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><a href="mailto:martin.schroeder@mtu.de"><span lang="EN-US" style="color:blue">mailto:martin.schroeder@mtu.de</span></a></span><span style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="DE" style="font-size:10.0pt; font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><a href="http://www.mtu.de"><span style="color:blue">http://www.mtu.de</span></a><br>
<br>
<b></b></span></p>
<p class="MsoNormal">&nbsp;</p>
</div>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">--</span><br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver"><strong>MTU Aero Engines GmbH</strong></span><br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">Geschaeftsfuehrung/Board of Management: Egon W. Behle, Vorsitzender/CEO; Dr. Rainer Martens, Dr. Stefan Weingartner, Reiner Winkler</span><br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">Vorsitzender des Aufsichtsrats/Chairman of the Supervisory Board: Klaus Eberhardt</span><br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">Sitz der Gesellschaft/Registered Office: Muenchen</span><br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">Handelsregister/Commercial Register: Muenchen HRB 154230</span><br>
<br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">Diese E-Mail sowie ihre Anhaenge enthalten MTU-eigene vertrauliche oder rechtlich geschuetzte Informationen.</span><br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">Wenn Sie nicht der beabsichtigte Empfaenger sind, informieren Sie bitte den Absender und loeschen Sie diese</span><br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">E-Mail sowie die Anhaenge. Das unbefugte Speichern, Kopieren oder Weiterleiten ist nicht gestattet.</span><br>
<br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">This e-mail and any attached documents are proprietary to MTU, confidential or protected by law.</span><br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">If you are not the intended recipient, please advise the sender and delete this message and its attachments.</span><br>
<span style="font-size:8.0pt; font-family:&quot;Arial&quot;; color:silver">Any unauthorised storing, copying or distribution is prohibited.</span><br>
</body>
</html>