Robbie:<br><br>vtkDataSetToPolyDataFilter
has been deprecated. Its superseded by vtkPolyDataAlgorithm and its
subclasses. There is no way to represent a vtkUnstructuredGrid as a
vtkPolyData, since they have representation different structures. <br><br>You could also use a vtkGeometryFilter to extract the "polydata part", ie all the 2D cells off the Unstructured grid; other cells will be ignored. <br>
<br><div class="gmail_quote">On Sat, Jan 29, 2011 at 1:02 AM, Robbie Banks <span dir="ltr"><<a href="mailto:robbie.banks@gmail.com">robbie.banks@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US"><div><p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">Yep, I guessed that, but how do I go about it. The other ways I tried yielded as much success.</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">R</span></p><p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<div style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;"><p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;"> Karthik Krishnan [mailto:<a href="mailto:karthik.krishnan@kitware.com" target="_blank">karthik.krishnan@kitware.com</a>] <br>
<b>Sent:</b> Friday, January 28, 2011 11:13 AM<br><b>To:</b> Robbie Banks<br><b>Cc:</b> <a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br><b>Subject:</b> Re: [vtkusers] vtkPDataSetToPolyDataFilter</span></p>
</div><div><div></div><div class="h5"><p class="MsoNormal"> </p><p class="MsoNormal" style="margin-bottom: 12pt;"> </p><div><p class="MsoNormal">On Sat, Jan 29, 2011 at 12:18 AM, Robbie Banks <<a href="mailto:robbie.banks@gmail.com" target="_blank">robbie.banks@gmail.com</a>> wrote:</p>
<div><div><p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Can anyone see where this is going wrong?</span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);">I have a scene where the even numbered actors are reflections of the data for the odd actors.</span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);">I am trying to create a single vtkPolyData set with the ploydata for the whole scene. The reflections are created with a vtkReflectionFilter, which creates a vtkDataSet.</span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);">I am trying to cast this vtkDataSet down and then convert it to vtkPolyData to be appended.</span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);">The compiler is throwing an error when I try and create the vtkDataSetToPolyDataFilter saying:</span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Error: invalid conversion from ‘vtkAlgorithm’ to ‘vtkDataSetToPolyDataFilter.</span></p><p class="MsoNormal">
<span style="color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);">I guess it doesn’t like being created with a vtkSmartPointer, but I don’t know how to fix it.</span></p></div>
</div><div><p class="MsoNormal"><br>Its because vtkDataSetToPolyDataFilter is an abstract base class. It cannot be instantiated by vtkSmartPointer's New.<br><br> </p></div><blockquote style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204); border-width: medium medium medium 1pt; padding: 0in 0in 0in 6pt; margin-left: 4.8pt; margin-right: 0in;">
<div><div><p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Thoughts?</span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> </span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Robbie</span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);"> </span></p><p class="MsoNormal"><span style="color: rgb(31, 73, 125);">Code below:</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> </span></p><p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";">vtkSmartPointer<vtkAppendPolyData> pAppendData = vtkSmartPointer<vtkAppendPolyData>::New();</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";">int reflectedActor = 0;</span></p><p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";">for(int i = 0; i < actors.size(); i++){</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> vtkSmartPointer<vtkActor> actor = actors[i];</span></p><p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> if(actor->IsA("vtkActor")){</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> vtkSmartPointer<vtkPolyData> pPolyData = vtkSmartPointer<vtkPolyData>::New();</span></p><p class="MsoNormal">
<span style="font-size: 10pt; font-family: "Courier New";"> if(i==reflectedActor){</span></p><p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> vtkSmartPointer<vtkDataSet> pDataSet = vtkDataSet::SafeDownCast(actor->GetMapper()->GetInput());</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> vtkSmartPointer<vtkDataSetToPolyDataFilter> pFilter = vtkSmartPointer<vtkDataSetToPolyDataFilter>::New();</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> pFilter->SetInput(pDataSet2);</span></p><p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> pFilter->Update();</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> pPolyData = pFilter->GetOutput();</span></p><p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> reflectedActor+=2;</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> }</span></p><p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> else</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> pPolyData = vtkPolyData::SafeDownCast(actor->GetMapper()->GetInput());</span></p><p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> pAppendData->AddInput(pPolyData);</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";"> }</span></p><p class="MsoNormal"><span style="font-size: 10pt; font-family: "Courier New";">}</span></p></div></div>
<p class="MsoNormal" style="margin-bottom: 12pt;"><br>_______________________________________________<br>Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br><br>Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a></p>
</blockquote></div><p class="MsoNormal"> </p></div></div></div></div></blockquote></div><br>