<div dir="ltr">Hi Cory,<div><br></div><div>Sorry for the delayed response, I've hit another more serious bug which has been diverting my attention from this.</div><div><br></div><div>Thanks for the state file, I haven't got it to work as I don't have numpy set up, but I have also got this working with 9 component arrays in paraview using a python script. However, I am now trying to port my python plugin to c++ which is where I am seeing the error.</div><div><br></div><div>In my plugin I want to output a vtkarray for each vtkarray in the input dataset. The values in the output vtkarrays are interpolated from those in the input vtkarrays. Rather than working directly on vtkarray objects, I am allocating c++ arrays for each vtkarray, performing the interpolation, then creating vtkDoubleArrays and using SetArray to pass a pointer to my allocated c++ arrays to the output vtkarrays. The code for setting up the output vtkarrays is roughly as follows</div><div>                </div><div>                vtkPointData *pointData = input->GetPointData();</div><div>                vtkDataArray *dArray = pointData->GetArray(i);<br></div><div><div><span class="Apple-tab-span" style="white-space:pre">               </span>vtkDoubleArray *vtkDArrayAve = vtkDoubleArray::New();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>vtkDArrayAve->SetName(dArray->GetName());</div><div><span class="Apple-tab-span" style="white-space:pre">              </span>vtkDArrayAve->SetArray(dArraysAve[i],hgrid->GetTotalCells(),0);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>vtkDArrayAve->SetNumberOfComponents(numComponents[i]);</div><div><span class="Apple-tab-span" style="white-space:pre">            </span>vtkDArrayAve->SetNumberOfTuples(hgrid->GetTotalCells());</div><div><span class="Apple-tab-span" style="white-space:pre">               </span>output->GetPointData()->AddArray(vtkDArrayAve);</div></div><div><br></div><div>dArraysAve is an array of pointers pointing to my c++ arrays</div><div>hgrid->GetTotalCells() returns the number of data points for my output</div><div><br></div><div>I also have another mode of operation for this plugin, where I perform the interpolation differently, in that function, if I make the call to SetNumberOfComponents() some heap corruption occurs and I get a segfault when I try to subsequently free my c++ arrays. Commenting out the call to SetNumberOfComponents avoids the segfault, but then I am limited to single component arrays. This is the more serious bug I mentioned, initially I figured they were unrelated, but I can't deny the number of components coincidence.</div><div><br></div><div>Cheers,</div><div>Bruce</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, 16 Jul 2015 at 14:41 Cory Quammen <<a href="mailto:cory.quammen@kitware.com">cory.quammen@kitware.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Bruce,<div><br></div><div>I have attached a ParaView state file with a Programmable Source that produces a vtkPolyData with 100 random points and a point data array with 9 components. It seems to display the various component ranges just fine.</div><div><br></div><div>Best,</div><div>Cory</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 16, 2015 at 11:14 AM, Cory Quammen <span dir="ltr"><<a href="mailto:cory.quammen@kitware.com" target="_blank">cory.quammen@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Bruce,<div><br></div><div>I haven't seen this, but ParaView may be interpreting this array as a tensor field. Do you have a smallish test data file that you can share that shows the problem?</div><div><br></div><div>Thanks,</div><div>Cory</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Sat, Jul 11, 2015 at 11:14 AM, Bruce Jones <span dir="ltr"><<a href="mailto:bruce.david.jones@gmail.com" target="_blank">bruce.david.jones@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">I am creating vtkDoubleArrays based on averaging some input data to a reduced set of points. The input data includes various vtk arrays which have 1, 3 and 9 components.<div><br></div><div>After averaging, I am writing the data to c++ arrays, and creating a new vtkDoubleArray using the SetArray() function to pass the c++ arrays. This works fine for 1 and 3 component arrays, however for the 9 component arrays paraview shows that every element is set to 0.</div><div><br></div><div>If I hardcode it so that 9 component arrays become 3 component arrays (reading only the first 3 components from the input array), then I get the correct data for the first 3 components, though I obviously need the other 6 components in the end.</div><div><br></div><div>Has anyone encountered this before?</div><div><br></div><div>Cheers,</div><div>Bruce</div></div>
<br></div></div>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
<br></blockquote></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div>Cory Quammen<br>R&D Engineer<br>Kitware, Inc.</div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Cory Quammen<br>R&D Engineer<br>Kitware, Inc.</div>
</div>
</blockquote></div>