Commit ce7966a6 authored by bonnell's avatar bonnell

Fix OnionPeel'd Mesh plot of arbitray poly

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@24409 18c085ea-50e0-402c-830e-de6fd14e8384
parent d43099e2
......@@ -22,6 +22,7 @@ list of changes in release 2.8.</p>
<li>Fixed failure of Python callbacks for viewer RPC's with no arguments.</li>
<li>Fixed a bug with the multipass CSG discretization method. It created incorrect results in regions where one or more boundaries was referenced multiple times and the total number of boundaries in the mesh was greater than 512.</li>
<li>Fixed inconsistent results between Pick, Query and OnionPeel performed using same zone or node ids, when database supplied ghost zones.</li>
<li>Mesh Plot + Onion Peel Operator of arbitrary polyhedral data has been fixed.</li>
</ul>
<p><b><font size="4">Enhancements in version 2.8.1</font></b></p>
......
......@@ -110,6 +110,9 @@ vtkLinesFromOriginalCells::~vtkLinesFromOriginalCells()
// Kathleen Biagas, Fri Jan 25 16:04:46 PST 2013
// Call Update on the filter, not the data object.
//
// Kathleen Biagas, Wed Sep 10 14:36:03 PDT 2014
// Make a final attempt with vtkExtractEdges if other logic yields no cells.
//
// ****************************************************************************
int vtkLinesFromOriginalCells::RequestData(
vtkInformation *vtkNotUsed(request),
......@@ -254,17 +257,31 @@ int vtkLinesFromOriginalCells::RequestData(
}//for all edges of cell
}//for all cells
vtkDebugMacro(<<"Created " << newLines->GetNumberOfCells() << " edges");
if (newLines->GetNumberOfCells() > 0)
{
output->SetLines(newLines);
vtkDebugMacro(<<"Created " << newLines->GetNumberOfCells() << " edges");
}
else
{
// HACK to work-around problem with arb-poly data. The logic above
// using 3DCellNumbers may not allow any edges to be added, so if that
// is the case, use the edges filter.
vtkDebugMacro(<<"Finding unique edges failed. Using vtkExtractEdges.");
vtkExtractEdges *extractor = vtkExtractEdges::New();
extractor->SetInputData(input);
extractor->Update();
output->ShallowCopy(extractor->GetOutput());
extractor->Delete();
vtkDebugMacro(<<"Created " << output->GetNumberOfCells() << " edges");
}
//
// Update ourselves.
//
edgeTable->Delete();
edgeNeighbors->Delete();
output->SetLines(newLines);
newLines->Delete();
output->Squeeze();
return 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment