[vtkusers] vtkMultiProcessController : BUG ?
Charles Law
charles.law at kitware.com
Wed Aug 30 13:24:46 EDT 2000
Thanks Philippe,
I will fix the problem.
I assume you meant:
if(p == this->Dummy) p = 0;
and not
if(p == this->Dummy) p == 0;
Charles.
At 05:13 PM 8/30/00 +0200, Philippe Guerville wrote:
>I tried to use data parallelism in vtk to cut trough a large unstructured
>grid with a plane.
>As in ParallelIso.cxx example, each process read a subset of the
>unstructured grid and
>compute the cut plane. The resulting polydata from each proces is send over
>an output
>port to process 0 and then render.
>
>I can change interactively the cut plane position with vtkCutter::SetValue.
>
>If for a given value the cut plane intersects one of the subset and for the
>next value it
>does not intersect this subset, I've got a seg fault.
>
>With the help of totalview, I Think that the problem is the following :
>
> file vtkMultiProcessController.cxx Revision: 1.34
>
> 616 int vtkMultiProcessController::ReadDataSet(vtkDataSet *object)
> {
> ....
> 631 output = reader->GetOutput();
> output->Update();
>
> object->ShallowCopy(output);
> ....
> }
>
>called from vtkMultiProcessController::ReadObject
> vtkMultiProcessController::Receive
> vtkInputPort::UpdateData
>
>Line 634, the new output is "shallow" copied in the old output of
>vtkInputPort.
>
>But if you look at :
>
> file vtkPolyData.cxx Revision: 1.121
>
> 1581 void vtkPolyData::ShallowCopy(vtkDataObject *dataObject)
> {
> ....
> 1589 this->SetPolys(polyData->GetPolys());
> ....
> 1615 // Do superclass
> this->vtkPointSet::ShallowCopy(dataObject);
> }
>
>and
>
> 677 void vtkPolyData::SetPolys (vtkCellArray* p)
> {
> if ( p != this->Polys && p != this->Dummy )
> !!!! DO NOTHING IF p == Dummy
>
>If the Polys array of the new output of vtkInputPort is dummy, you keep the
>old
>one but you change the point set and the resulting vtkPolyData is
>inconsistent.
>
>I've done the following changes :
>
> void vtkPolyData::SetPolys (vtkCellArray* p)
> {
> if(p == this->Dummy) p == 0;
> if ( p != this->Polys)
> ......
>
>I think that vtkPolyData::SetVerts , vtkPolyData::SetLines and
>vtkPolyData::SetStrips
>should be modified accordingly.
>
> Philippe Guerville
> philippe.guerville at cea.fr
>
>
>
>_______________________________________________
>This is the private VTK discussion list.
>Please keep messages on-topic. Check the FAQ at:
><http://public.kitware.com/cgi-bin/vtkfaq>
>Follow this link to subscribe/unsubscribe:
>http://public.kitware.com/mailman/listinfo/vtkusers
More information about the vtkusers
mailing list