How to Get Active Selection and Extract it? Hello, I'm struggling with a problem. 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've already tried this in Python and it works as expected. Doing the same in C++ doesn't seem as straight forward as it was in Python...
How can I pass the output port from a vtkSMSourceProxy to a vtkAlgorithm input port. Is there any way to do that? My code looks very similar to this: vtkSMProxyManager* pxm = vtkSMProxyManager::GetProxyManager(); vtkSMSessionProxyManager* spxm = pxm->GetActiveSessionProxyManager(); vtkSMProxySelectionModel* selmodel = spxm->GetSelectionModel("ActiveSources"); vtkSmartPointer<vtkSMSourceProxy> FilterProxy = vtkSMSourceProxy::SafeDownCast(selmodel->GetCurrentProxy()); vtkSmartPointer<vtkSMSourceProxy> SourceProxy = vtkSMSourceProxy::SafeDownCast(FilterProxy->GetProducerProxy((uint)0)); vtkSmartPointer<vtkSMSourceProxy> active_selection = vtkSMSourceProxy::SafeDownCast(SourceProxy->GetSelectionInput(0)); vtkSmartPointer<vtkExtractSelection> ExtrSelFltr = vtkSmartPointer<vtkExtractSelection>::New(); ExtrSelFltr-> SetInputConnection(0, this->GetInputAlgorithm()->GetOutputPort((uint)0)); ExtrSelFltr-> SetInputConnection(1, active_selection->GetOutputPort((uint)0)); //Not the right way! ExtrSelFltr->Update(); The functionality I want to implement written in Python: def GetSelectionSource(proxy=None): """If a selection has exists for the proxy (if proxy is not specified then the active source is used), returns that selection source""" if not proxy: proxy = GetActiveSource() if not proxy: raise RuntimeError, \ "GetSelectionSource() needs a proxy argument of that an active source is set." return proxy.GetSelectionInput(proxy.Port) active_selection = GetSelectionSource() # Create extract selection Extr_Sel = ExtractSelection(Selection=active_selection) # Access raw data of Extr_Sel Extr_Sel_raw = servermanager.Fetch(Extr_Sel) Any comment is appreciated and thanks in advance. Mit freundlichen Gruessen / Best regards Martin Schröder, FIEA MTU Aero Engines GmbH Engineering Systems (CAE) Dachauer Str. 665 80995 Muenchen Germany Tel +49 (0)89 14 89 57 20 Fax +49 (0)89 14 89-96 89 4 mailto:martin.schroe...@mtu.de http://www.mtu.de -- MTU Aero Engines GmbH Geschaeftsfuehrung/Board of Management: Egon W. Behle, Vorsitzender/CEO; Dr. Rainer Martens, Dr. Stefan Weingartner, Reiner Winkler Vorsitzender des Aufsichtsrats/Chairman of the Supervisory Board: Klaus Eberhardt Sitz der Gesellschaft/Registered Office: Muenchen Handelsregister/Commercial Register: Muenchen HRB 154230 Diese E-Mail sowie ihre Anhaenge enthalten MTU-eigene vertrauliche oder rechtlich geschuetzte Informationen. Wenn Sie nicht der beabsichtigte Empfaenger sind, informieren Sie bitte den Absender und loeschen Sie diese E-Mail sowie die Anhaenge. Das unbefugte Speichern, Kopieren oder Weiterleiten ist nicht gestattet. This e-mail and any attached documents are proprietary to MTU, confidential or protected by law. If you are not the intended recipient, please advise the sender and delete this message and its attachments. Any unauthorised storing, copying or distribution is prohibited.
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview