[Paraview] Structured grid point blanking
David Doria
daviddoria at gmail.com
Mon Feb 13 08:53:02 EST 2012
On Fri, Feb 10, 2012 at 6:16 PM, George Zagaris
<george.zagaris at kitware.com> wrote:
> Hi David,
>
> The issue is that the mapper ( i.e., vtkPVGeometryFilter which invokes
> vtkDataSetSurfaceFilter ) does not take into account blanking.
>
> I have a patch for vtkDataSetSurfaceFilter that adds such a check. In
> vtkDataSetSurfaceFilter::ExecuteFaceQuads you can add the
> following if-statement:
>
> void vtkDataSetSurfaceFilter::ExecuteFaceQuads(...)
> {
>
> ....
>
> // Old method for creating quads (needed for cell data.).
> for (ic = ext[cA2]; ic < ext[cA2+1]; ++ic)
> {
> for (ib = ext[bA2]; ib < ext[bA2+1]; ++ib)
> {
> outPtId = outStartPtId + (ib-ext[bA2]) + (ic-ext[cA2])*cOutInc;
> inId = inStartCellId + (ib-ext[bA2])*qInc[bAxis] +
> (ic-ext[cA2])*qInc[cAxis];
>
> if( grid->IsCellVisible(inId) ) // This is the If-statement to
> check for blanking
> {
> outId = outPolys->InsertNextCell(4);
> outPolys->InsertCellPoint(outPtId);
> outPolys->InsertCellPoint(outPtId+cOutInc);
> outPolys->InsertCellPoint(outPtId+cOutInc+1);
> outPolys->InsertCellPoint(outPtId+1);
> // Copy cell data.
> outCD->CopyData(inCD,inId,outId);
> this->RecordOrigCellId(outId, inId);
> }
>
> }
> }
>
> ...
>
> }
>
> Alternatively, the out-of-the-box approach is to add a flags array to
> the point data of the vtkStructuredGrid instance and use vtkThreshold
> to display the corresponding subset.
>
> Hope this helps.
>
> Best,
> George
Thanks George,
I can't imagine when you would not want to respect blanking? Could you
push that patch to VTK Gerrit?
David
More information about the ParaView
mailing list