<div dir="ltr">Attached is the solution, there a small mistake in my origin script:<div><br></div><div><div> vtkClientServerStream stream;</div><div> stream << vtkClientServerStream::Invoke</div><div>              << VTKOBJECT(proxy)</div><div>               << SetValues</div><div>               << maxValues</div><div>               << stream.InsertArray(values, maxValues)</div><div>               << vtkClientServerStream::End;</div></div><div><br></div><div>Utkarsh</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 21, 2015 at 8:40 AM, Utkarsh Ayachit <span dir="ltr"><<a href="mailto:utkarsh.ayachit@kitware.com" target="_blank">utkarsh.ayachit@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">John,<br>
<br>
That looks too convoluted. I haven't done this in a while so I'll need<br>
to refresh my memory a bit. I'll make an example today and then get<br>
back to you.<br>
<span class="HOEnZb"><font color="#888888"><br>
Utkarsh<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Sun, Sep 20, 2015 at 4:43 AM, Biddiscombe, John A. <<a href="mailto:biddisco@cscs.ch">biddisco@cscs.ch</a>> wrote:<br>
> Just following up so that when I’ve forgotten how to do it ...<br>
><br>
> This works<br>
><br>
> #define VTK_WRAPPING_CXX<br>
> #include "vtkClientServerStream.h"<br>
><br>
> ...<br>
><br>
><br>
> //  void SetSelectedGIds(int n, const int *Ids);<br>
>   void SetSelectedGIds(int N, int Ids[]);<br>
> //BTX<br>
>   void SetSelectedGIds(int N, vtkClientServerStreamDataArg<int> &temp0);<br>
> //ETX<br>
><br>
> And in the cxx, use the vtkClientServerStreamDataArg operator () to get<br>
> the T* pointer.<br>
><br>
> Then in the client GUI<br>
><br>
> vtkClientServerStream::Array array =<br>
>   {<br>
>     vtkClientServerStream::int32_array,<br>
>     static_cast<vtkTypeUInt32>(numValues),<br>
><br>
> static_cast<vtkTypeUInt32>(sizeof(vtkClientServerStream::int32_value)*numVa<br>
> lues),<br>
>     (int*)(data)<br>
>   };<br>
><br>
><br>
>   vtkClientServerStream stream;<br>
>   stream << vtkClientServerStream::Invoke<br>
>     << VTKOBJECT(proxy)<br>
>     << "SetSelectedGIds"<br>
>     << numValues<br>
>     << array;<br>
>   stream << vtkClientServerStream::End;<br>
><br>
> This correctly inserts the array and the type,size,data vars so that the<br>
> server reads them as expected.<br>
><br>
> I’m not happy about the fact that we have to spoof the wrapper generators,<br>
> but at least I don’t need to modify the ClientServerStreamArg<><br>
> implementation.<br>
><br>
><br>
><br>
> JB<br>
><br>
</div></div></blockquote></div><br></div>