[Paraview] outline in parallel

Berk Geveci berk.geveci at kitware.com
Thu Nov 5 11:36:41 EST 2009


Ah, I figured this out. It is a bug in vtkPVGeometryFilter. When it is
creating outlines for multi-block datasets, it is not doing the right
thing when running in parallel. If you look at
vtkPVGeometryFilter::DataSetExecute, it does this to reduce the
bounds.

    if (this->Controller && doCommunicate)
      {
      double tmp[6];
      this->Controller->Reduce(bds, tmp, 6, &operation, 0);
      memcpy(bds, tmp, 6*sizeof(double));
      }

    if (bds[1] >= bds[0] && bds[3] >= bds[2] && bds[5] >= bds[4])
      {
      // only output in process 0.
      this->OutlineSource->SetBounds(bds);
      this->OutlineSource->Update();

      output->SetPoints(this->OutlineSource->GetOutput()->GetPoints());
      output->SetLines(this->OutlineSource->GetOutput()->GetLines());
      }

 Whereas for composite datasets, it simply iterates over blocks and
creates outlines for them. The right thing to do is to have all
processes iterate over all leaf nodes (without skipping empty ones)
and call DataSetExecute with doCommunicate == 1.

Please submit a bug report or even better a patch :-)

-berk

On Fri, Oct 16, 2009 at 4:10 AM, Paul Edwards <paul.m.edwards at gmail.com> wrote:
> Hi
>
> Should the outline representation look the same if I have my data
> loaded in parallel to when it is in serial?  I am getting multiple
> outlines (1 for each process) for each block in my multiblock dataset.
>  I don't know if this is the desired behaviour or whether I am doing
> something wrong.
>
> Thanks,
> Paul
> _______________________________________________
> 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
>


More information about the ParaView mailing list