[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