Thanks Utkarsh, I’ve decided to stick with my own solution for the time being – having to create extra vtkSMxxx classes for all the sources adds too much maintenance to the code, whereas just adding an #include seems cleaner. When my immediate deadline has passed I’ll look again at it.
Thanks JB From: Utkarsh Ayachit <[email protected]<mailto:[email protected]>> Date: Thursday 24 September 2015 17:57 To: cscs <[email protected]<mailto:[email protected]>> Cc: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Subject: Re: [Paraview] Send an array from client to server Attached is the solution, there a small mistake in my origin script: vtkClientServerStream stream; stream << vtkClientServerStream::Invoke << VTKOBJECT(proxy) << SetValues << maxValues << stream.InsertArray(values, maxValues) << vtkClientServerStream::End; Utkarsh On Mon, Sep 21, 2015 at 8:40 AM, Utkarsh Ayachit <[email protected]<mailto:[email protected]>> wrote: John, That looks too convoluted. I haven't done this in a while so I'll need to refresh my memory a bit. I'll make an example today and then get back to you. Utkarsh On Sun, Sep 20, 2015 at 4:43 AM, Biddiscombe, John A. <[email protected]<mailto:[email protected]>> wrote: > Just following up so that when I’ve forgotten how to do it ... > > This works > > #define VTK_WRAPPING_CXX > #include "vtkClientServerStream.h" > > ... > > > // void SetSelectedGIds(int n, const int *Ids); > void SetSelectedGIds(int N, int Ids[]); > //BTX > void SetSelectedGIds(int N, vtkClientServerStreamDataArg<int> &temp0); > //ETX > > And in the cxx, use the vtkClientServerStreamDataArg operator () to get > the T* pointer. > > Then in the client GUI > > vtkClientServerStream::Array array = > { > vtkClientServerStream::int32_array, > static_cast<vtkTypeUInt32>(numValues), > > static_cast<vtkTypeUInt32>(sizeof(vtkClientServerStream::int32_value)*numVa > lues), > (int*)(data) > }; > > > vtkClientServerStream stream; > stream << vtkClientServerStream::Invoke > << VTKOBJECT(proxy) > << "SetSelectedGIds" > << numValues > << array; > stream << vtkClientServerStream::End; > > This correctly inserts the array and the type,size,data vars so that the > server reads them as expected. > > I’m not happy about the fact that we have to spoof the wrapper generators, > but at least I don’t need to modify the ClientServerStreamArg<> > implementation. > > > > JB >
_______________________________________________ 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 ParaView Wiki at: http://paraview.org/Wiki/ParaView Search the list archives at: http://markmail.org/search/?q=ParaView Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/paraview
