<div dir="ltr">Cory, that's awesome. Thanks very much. <div>Cheers</div><div>Chris</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br></div></div></div></div></div></div></div><div class="gmail_quote">On 18 November 2016 at 12:41, 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"><span class="">> I see what's going on now. But to be honest, it was easy to miss. If there<br>
> was a small "Oh, remember to use GetAbstractArrray for stringarray, etc"<br>
> that would have helped immensely. I find keeping vtk's inheritance graphs in<br>
> mind difficult  (they're pretty complex), so a reminder here and there would<br>
> go a long way towards someone like me who is piecing together usage off the<br>
> docs and examples, without fully groking the entirety of vtk.<br>
<br>
</span>Thanks for the feedback. You are right that we should probably<br>
recommend using GetAbstractArray() by default as one typically needs<br>
to downcast the returned pointer anyway. Abstract arrays were added to<br>
VTK after the numeric arrays were added, so a lot of code still uses<br>
the GetArray() member function. To avoid breaking backwards<br>
compatibility, the GetAbstractArray() was added for accessing<br>
non-numeric arrays. Hence the confusion.<br>
<br>
I have a merge request for clarifying when to use these member<br>
functions up: <a href="https://gitlab.kitware.com/vtk/vtk/merge_requests/2180" rel="noreferrer" target="_blank">https://gitlab.kitware.com/<wbr>vtk/vtk/merge_requests/2180</a><br>
<span class="HOEnZb"><font color="#888888"><br>
- Cory<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> Cheers<br>
> Chris<br>
><br>
><br>
><br>
> Cheers<br>
> Chris<br>
><br>
> On 16 November 2016 at 09:23, Cory Quammen <<a href="mailto:cory.quammen@kitware.com">cory.quammen@kitware.com</a>> wrote:<br>
>><br>
>> > Does anyone know who would be able to amend the example I linked above<br>
>> > to<br>
>> > include the string? It is not at all clear from the docs that string<br>
>> > behaves<br>
>> > differently.<br>
>><br>
>> Do you mean actually modify that example? Anyone with a wiki account<br>
>> can add an example. I just modified the example you cited to use<br>
>> GetAbstractArray(). Doing so doesn't really explain the API, but it<br>
>> may save someone the trouble you ran into. We always welcome<br>
>> improvements to the documentation in the source code.<br>
>><br>
>> If you are asking for technical details on how to amend the example, this<br>
>> part<br>
>><br>
>>   vtkSmartPointer<vtkIntArray> intValue =<br>
>>     vtkSmartPointer<vtkIntArray>::<wbr>New();<br>
>>   intValue-><wbr>SetNumberOfComponents(1);<br>
>>   intValue->SetName("MyIntValue"<wbr>);<br>
>>   intValue->InsertNextValue(5);<br>
>><br>
>> should be changed to<br>
>><br>
>> vtkSmartPointer<<wbr>vtkStringArray> strArray =<br>
>>   vtkSmartPointer<<wbr>vtkStringArray>::New();<br>
>> strArray->SetName("<wbr>MyStringArray");<br>
>> vtkStdString strValue("my value");<br>
>> strArray->InsertNextValue(<wbr>strValue);<br>
>><br>
>> HTH,<br>
>> Cory<br>
>><br>
>><br>
>> ><br>
>> > On 11 November 2016 at 09:30, Cory Quammen <<a href="mailto:cory.quammen@kitware.com">cory.quammen@kitware.com</a>><br>
>> > wrote:<br>
>> >><br>
>> >> Ah, yes, I should have caught that you would be using a<br>
>> >> vtkStringArray, which is not accessed the same way as the numeric data<br>
>> >> arrays. Glad you found the solution.<br>
>> >><br>
>> >> Cory<br>
>> >><br>
>> >> On Thu, Nov 10, 2016 at 2:15 PM, Chris Marsh <<a href="mailto:chris.marsh@usask.ca">chris.marsh@usask.ca</a>><br>
>> >> wrote:<br>
>> >> > Hi all,<br>
>> >> ><br>
>> >> > Following the advice here<br>
>> >> ><br>
>> >> > <a href="http://public.kitware.com/pipermail/paraview/2012-September/026100.html" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>pipermail/paraview/2012-<wbr>September/026100.html</a><br>
>> >> ><br>
>> >> > worked.  That is, in Python, the following works<br>
>> >> > my_mesh.GetFieldData().<wbr>GetAbstractArray("proj4").<wbr>GetValue(0)<br>
>> >> ><br>
>> >> ><br>
>> >> > On 9 November 2016 at 15:54, Chris Marsh <<a href="mailto:chris.marsh@usask.ca">chris.marsh@usask.ca</a>><br>
>> >> > wrote:<br>
>> >> >><br>
>> >> >> Hi Cory,<br>
>> >> >> Thanks for the reply. This looks like a perfect way forward.<br>
>> >> >><br>
>> >> >> I am following this<br>
>> >> >> <a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/FieldData" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK/<wbr>Examples/Cxx/PolyData/<wbr>FieldData</a><br>
>> >> >><br>
>> >> >> and am having troubles with this approach. The field data doesn't<br>
>> >> >> seem<br>
>> >> >> to<br>
>> >> >> be set properly. I can see the field data *name* in paraview when I<br>
>> >> >> load my<br>
>> >> >> mesh, but it has an NA value.<br>
>> >> >><br>
>> >> >><br>
>> >> >> What I'm doing is:<br>
>> >> >><br>
>> >> >> std::string _srs_wkt = "my projection data here";<br>
>> >> >> vtkSmartPointer<<wbr>vtkStringArray> proj4 =<br>
>> >> >> vtkSmartPointer<<wbr>vtkStringArray>::New();<br>
>> >> >> proj4->SetNumberOfComponents(<wbr>1);<br>
>> >> >> proj4->SetName("proj4");<br>
>> >> >> proj4->InsertNextValue(_srs_<wbr>wkt);<br>
>> >> >><br>
>> >> >> vtkSmartPointer<<wbr>vtkUnstructuredGrid> _vtk_unstructuredGrid =<br>
>> >> >> vtkSmartPointer<<wbr>vtkUnstructuredGrid>::New();<br>
>> >> >><br>
>> >> >> //... build up _vtk_unstructuredGrid etc.<br>
>> >> >><br>
>> >> >>  _vtk_unstructuredGrid-><wbr>GetFieldData()->AddArray(<wbr>proj4);<br>
>> >> >><br>
>> >> >>  //validate<br>
>> >> >>  vtkStringArray* test =<br>
>> >> >><br>
>> >> >><br>
>> >> >> vtkStringArray::SafeDownCast(_<wbr>vtk_unstructuredGrid-><wbr>GetFieldData()->GetArray("<wbr>proj4"));<br>
>> >> >><br>
>> >> >>  //test is NULL<br>
>> >> >><br>
>> >> >> any ideas?<br>
>> >> >> Thanks<br>
>> >> >><br>
>> >> >><br>
>> >> >> Chris Marsh<br>
>> >> >> PhD Candidate<br>
>> >> >> <a href="http://chrismarsh.ca" rel="noreferrer" target="_blank">chrismarsh.ca</a><br>
>> >> >><br>
>> >> >> 13 Kirk Hall<br>
>> >> >> University of Saskatchewan<br>
>> >> >><br>
>> >> >> On 9 November 2016 at 01:31, Cory Quammen <<a href="mailto:cory.quammen@kitware.com">cory.quammen@kitware.com</a>><br>
>> >> >> wrote:<br>
>> >> >>><br>
>> >> >>> Hi Chris,<br>
>> >> >>><br>
>> >> >>> Usually we stuff this kind of data into the generic field data<br>
>> >> >>> (arrays<br>
>> >> >>> not associated with points of cells) in the data set. The VTU<br>
>> >> >>> reader/writer supports reading/writing field data.<br>
>> >> >>><br>
>> >> >>> HTH,<br>
>> >> >>> Cory<br>
>> >> >>><br>
>> >> >>> On Tue, Nov 8, 2016 at 6:15 PM, Chris Marsh <<a href="mailto:chris.marsh@usask.ca">chris.marsh@usask.ca</a>><br>
>> >> >>> wrote:<br>
>> >> >>> > Hi,<br>
>> >> >>> ><br>
>> >> >>> > I would like to add some extra meta-data to a pvd file.<br>
>> >> >>> > Specifically, a<br>
>> >> >>> > proj4 string containing information about the coordinate system<br>
>> >> >>> > projection<br>
>> >> >>> > of the data contained in a vtu file.<br>
>> >> >>> ><br>
>> >> >>> > Is there a recommended way to do this?<br>
>> >> >>> ><br>
>> >> >>> > Cheers<br>
>> >> >>> > Chris<br>
>> >> >>> ><br>
>> >> >>> > ______________________________<wbr>_________________<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<br>
>> >> >>> > <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
>> >> >>> ><br>
>> >> >>> > Please keep messages on-topic and check the VTK FAQ at:<br>
>> >> >>> > <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_<wbr>FAQ</a><br>
>> >> >>> ><br>
>> >> >>> > Search the list archives at:<br>
>> >> >>> > <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>vtkusers</a><br>
>> >> >>> ><br>
>> >> >>> > Follow this link to subscribe/unsubscribe:<br>
>> >> >>> > <a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/vtkusers</a><br>
>> >> >>> ><br>
>> >> >>><br>
>> >> >>><br>
>> >> >>><br>
>> >> >>> --<br>
>> >> >>> Cory Quammen<br>
>> >> >>> Staff R&D Engineer<br>
>> >> >>> Kitware, Inc.<br>
>> >> >><br>
>> >> >><br>
>> >> ><br>
>> >><br>
>> >><br>
>> >><br>
>> >> --<br>
>> >> Cory Quammen<br>
>> >> Staff R&D Engineer<br>
>> >> Kitware, Inc.<br>
>> ><br>
>> ><br>
>><br>
>><br>
>><br>
>> --<br>
>> Cory Quammen<br>
>> Staff R&D Engineer<br>
>> Kitware, Inc.<br>
><br>
><br>
<br>
<br>
<br>
--<br>
Cory Quammen<br>
Staff R&D Engineer<br>
Kitware, Inc.<br>
</div></div></blockquote></div><br></div></div>