[Paraview-developers] [Paraview] Fwd: How to plug into paraview his own writer ?
houssen
houssen at ipgp.fr
Wed Jul 1 16:49:37 EDT 2015
Hi Cory,
I had to spread my time over several topics these days... So I had not
much time to get back to the paraview writer.
I believe I have done pretty much everything for the writer to work but
at save time, I still get this error :
~> ERROR: In
/home/houssen/Programs/ParaView/ParaView-v4.3.1-source/ParaViewCore/ServerImplementation/Core/vtkSIProxy.cxx,
line 307
vtkSIWriterProxy (0x5cc38e0): Failed to create myWriter. Aborting for
debugging purposes.
The writer instance is not created for some reason.
At this point, I run paraview, I load the plugin with "tools / manage
plugins" (load seems OK), I open some data, I save with "my writer" (I
see my writer in the save GUI + I am asked for a file-to-save name), I
click OK and then it crahses. I believe the xml file is wrong and / or
something is missing... But I didn't yet figured it out. It seems I have
no pvserver (see in the mail) : can this trigger the crash ? Do I need a
pvserver for the writer to work ?
I answered your question in the mail.
Franck
Le 2015-06-30 6:08, Cory Quammen a écrit :
> Hi Franck,
>
> It looks like you've been making progress, so I'll answer your
> questions from your second email.
>
>
>
>> Question 1 : how to write myWriter.xml ?
>>
>> 1.1. seems I must set <InputProperty command="SetInputConnection"
>> name="Input"> in myWriter.xml. Does this means I will also have to
>> implement myWriter::SetInputConnection ?
>
> No. Your writer will inherit from subclass of vtkAlgorithm, the class
> that defines "SetInputConnection", and you should not need to
> override
> it. XdmfWriter inherits from vtkDataObjectAlgorithm, which itself
> inherits vtkAlgorithm.
>
>
>> 1.2. seems I must set <StringVectorProperty name="FileName"
>> command="SetFileName"> in myWriter.xml. Does this means I will also
>> have to implement myWriter::SetFileName ?
>
> Yes, like vtkXdmfWriter.
>
> 2.2 in myWriter.hpp, I need to derive from a vtkObject this way
> (like XdmfWriter.cpp does)
>
>> ew (); // Needed to be plugged into paraview
>> vtkTypeMacro ( myWriter, vtkDataObjectAlgorithm ); // Needed
>> to be plugged into paraview
>> + suppress copy constructor and operator=
>>
>> Am I correct ?
>>
>> Yes.
>>
>> Question 3 : in myWriter.cpp, on
> I am supposed to be called back (to get focus back) when I click the
> "save data" button ? Here, how can I get data to be saved (data that
> I
> can see in paraview viewer befo
>
>> n ParaView, when you choose, File -> Save Data, the data from the
>> selected Pipeline Browser object will be saved. This will have some
>> kind of data type, e.g., vtkImageData, vtkPolyData, etc. What kind
>> of data type would you like your writer to support?
Structured and likely also unstructured grids
>>
>> The data should
> in the member function myWriter::RequestData(). This is where you
> should write your data.
OK (I suppose I'll get vtkStructuredGrid / vtkUnstructuredGrid as
vtkObject in myWriter::RequestData according to
http://www.vtk.org/Wiki/VTK/Tutorials/New_Pipeline#Typical_Pipeline_Execution)
>
> Finally, myWriter.xml seems OK. myWriter.*pp compile OK. Paraview
> finds myWriter.xml at run time (exporting PV_PLUGIN_PATH) and loads
> libmywriter.so without problem. I see the writer in the "save data"
> GUI (drop down list with different save formats). I save with
> myWriter, I get a (basic) GUI with file name only (no extra
> parameter)
> : I crash when I click "OK, save" with this error message :
> ERROR: In /.../ParaView-v4.3.1-sourc
>
>> ailed to create myWriter. Aborting for debugging purposes.
>>
>> vtkSIWriterProxy does this at line 303 :
>> vtkObjectBase* obj = this->Interpreter->NewInstance(className);
>> but obj is NULL.
>>
>> I get obj is NULL because I missed something in myWriter
>> implementation : what did I miss ?
>>
>> Are you running pvserver separately and connecting to it with the
>> client? If so, make sure PV_PLUGIN_PATH is defined in the
>> environment in which pvserver is run. Have you tried to load your
>> plugin through the Tools -> Manage Plugins... dialog?
>>
No I just run a client. I don't need the server : is it necessary for
the writer to work ?
~> paraview &
~> ps -aux | grep pvserver
houssen 5315 0.0 0.0 14544 948 pts/0 S+ 22:38 0:00 grep
pvserver
~> ps -aux | grep paraview
houssen 5313 16.0 1.1 1175692 179424 pts/0 S 22:38 0:01
/home/houssen/Programs/ParaView/ParaView-v4.3.1-source/local/lib/paraview-4.3/paraview
houssen 5317 0.0 0.0 14544 944 pts/0 S+ 22:38 0:00 grep
paraview
>> I hope that helps get you further in writing your data files.
>>
>> Thanks,
>> Cory
>>
>> Can somebody help
> t me some clue ?
>
> FH
>
> -------- Message original --------
> Objet: How to plug into paraview his own writer ?
> Date: 2015-06-12 15:54
> De: houssen <houssen at imap.ipgp.fr [6]>
> À: <paraview at paraview.org [7]>
>
> I followed 2 tutorials (
>
> Links:
> ------
> [1] http://www.kitware.com
> [2] http://www.kitware.com/opensource/opensource.html
> [3] http://paraview.org/Wiki/ParaView
> [4] http://markmail.org/search/?q=ParaView
> [5] http://public.kitware.com/mailman/listinfo/paraview
> [6] mailto:houssen at imap.ipgp.fr
> [7] mailto:paraview at paraview.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: myWriter.tar.gz
Type: application/x-gzip
Size: 1591 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/paraview-developers/attachments/20150701/8116c72b/attachment.bin>
More information about the Paraview-developers
mailing list