[vtkusers] vtkAppendPolyData delete the scalars

Gonzalo Amadio gonzaloamadio at gmail.com
Mon Aug 6 05:18:22 EDT 2012


Yes, what I wanted to mean with "is Strange" is that letting the input
without appending works fine, so it means that it has its scalars.
In other words, I printed the scalars of "otherPolyData" and "myPolyData"
before appending, and I obtain desired results. So it means that they have
scalars.

So I don't know what is happening here. Maybe I have to add something more
to satisfy conditions for using the filter, but I don't know.
Some help?

Thank you!



2012/8/3 Alex Malyushytskyy <alexmalvtk at gmail.com>

> >> appendGreenSubdAndRedBlue->AddInput(otherPolyData);   // what is
> extrange is that if I comment this line, it works fine
> >> appendGreenSubdAndRedBlue->AddInput(myPolyData);
>
> there is nothing strange, if you comment this line there is no
> modification were made,
> so output is the same as input.
>
> why it removes scalar?
> otherPolyData probably does not the same scalar. From documentation:
>
> "All geometry is extracted and appended, but point and cell attributes
> (i.e., scalars, vectors, normals) are extracted and appended only if
> all datasets have the point and/or cell attributes available. (For
> example, if one dataset has point scalars but another does not, point
> scalars will not be appended.)"
>
> Regards,
>   Alex
>
>
> On Thu, Aug 2, 2012 at 4:25 AM, Gonzalo Amadio <gonzaloamadio at gmail.com>
> wrote:
> > Hello everyone. Is there some reason whereby vtkAppendPolyData delete the
> > scalars when I append 2 polydatas?
> >
> > Here is my code.
> >
> >> myPolyData->ShallowCopy(otherPolyData);
> >>         SubdividePolyData(myPolyData);   /// Here I modified the
> polydata,
> >> so I need to assign it again the scalar array.
> >>
> >>
> >>
> >>         // The problem I think is here in this lines, where I assign the
> >> scalar array
> >> vtkIntArray* scalars = vtkIntArray::New();
> >> scalars->SetNumberOfComponents(1);
> >> scalars->SetNumberOfValues(myPolyData->GetNumberOfCells());
> >> scalars->SetNumberOfTuples(myPolyData->GetNumberOfCells());
> >>
> >>
> >>
> >> for (int i = 0; i < myPolyData->GetNumberOfCells(); i++)
> >> scalars->SetValue(i, 1);
> >>
> >>
> >>
> >> myPolyData->GetCellData()->SetScalars(scalars);
> >>
> >>
> >>
> >>         vtkSmartPointer<vtkAppendPolyData> appendGreenSubdAndRedBlue =
> >> vtkSmartPointer<vtkAppendPolyData>::New();
> >> appendGreenSubdAndRedBlue->AddInput(otherPolyData);   // what is
> extrange
> >> is that if I comment this line, it works fine
> >> appendGreenSubdAndRedBlue->AddInput(myPolyData);
> >> appendGreenSubdAndRedBlue->Update();
> >>
> >>
> >>
> >> vtkPolyData * finalPolyData = appendGreenSubdAndRedBlue->GetOutput();
> >>
> >>
> >>
> >>         vtkIntArray* scalarArray =
> >> static_cast<vtkIntArray*>(finalPolyData->GetCellData()->GetScalars());
> >>         std::cout  << scalarArray->GetNumberOfTuples() << std::endl;
> >> //This line gives me an error
> >
> >
> >
> > The error that I obtain is the following :
> >
> > File :     vtkAbstractArray.h -  line 104
> >
> >   vtkIdType GetNumberOfTuples()
> >     {return (this->MaxId + 1)/this->NumberOfComponents;}
> >
> > error:
> >
> > name               type                          value
> > this        vtkAbstractArray * const           0x0
> >
> >
> > I can assign "manually" again the scalars to the finalPolyData, but it is
> > suppose that the scalars remains when I append them.
> >
> > Thank you!
> >
> > --
> > --------
> > Gonzalo
> >
> > _______________________________________________
> > 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 VTK FAQ at:
> > http://www.vtk.org/Wiki/VTK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.vtk.org/mailman/listinfo/vtkusers
> >
> _______________________________________________
> 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 VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>



-- 
--------
Gonzalo Amadio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20120806/5fd5c5ce/attachment.htm>


More information about the vtkusers mailing list