New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vtk modules with VTKCell input ports #1032
Comments
With the new constant spec there is no way of making this dynamic, so we replace the type with a Variant. Now that we do not allow modules on ports, should port types really be modules? Fixes #1030
7eade15 adds back the Instance port on VTKCell. I also cannot figure out how to use this. These modules are VTK classes and cannot be made into Spreadsheet Cells easily. They seem to be convenience classes for doing specific interactive things, so I am not sure they are really needed. @dakoop, do you have an idea how this should work? |
If the module doesn't work and requires horrible regressions to exist, I suggest simply removing it. I am strongly opposed to your recent changes, they really take us back. Probably shouldn't be on master. |
These are the affected classes:
I was finally able to get vtkExporter on the terminator:Isosurface pipeline to work by making it call methods last (you also have to set prefix first and then Write). Is this class not needed? Are there other ways to write data files? Can this be done with output modules yet? If we can remove this, we can also remove:
|
You need to remove ~/.vistrails/vtk-spec* to update schema. From discussion on #1032
I'd very much like to see output modules everywhere (yes, they do work) but they can probably come later.
|
vtkExporter is the parent class for several exporter classes. It looks like we would want to keep these. Should we try to create output modes for all of them? Should we ignore them for now and do this in a later release? |
Exporting classes shouldn't need a spreadsheet object plugged into them. That doesn't make sense. We definitely need the file-writing modules to work, be they output modules or not. How did it all work before? |
cc @dakoop
The exporters seem to require a vtkRenderView which is what VTKCell wraps. My guess is using the VTKCell was the simplest way to access the view without having a separate module for this. Just append an exporter module on VTKCell and write the output. We could perhaps make the exporters take a vtkRenderer and create the view themselves offscreen or in a standalone window?
|
There needs to be a way to export images from VisTrails without the need for the spreadsheet. |
Does not vtkRendererToFile do that? Also, I think VTKRenderOffscreen does the same thing and is probably redundant now? The problem is the vtkExporter subclasses which can write different kinds of data from a vtkRendererView: |
VTKCell ports are removed by 2f38d55. vtkExporter classes now take a vtkRenderer module as input and create their own offscreen vtkRenderView. There are also upgrades to fix existing workflows. |
I still see VTKCell; do I have to delete the |
Yes, i forgot to mention that. You are right, we should append the VTK package version to the filename so that it automatically gets recomputed for future versions of the VTK package. |
Do you have an example that works? I connected vtkImageReader to vtkImageViewer2, but it doesn't produce any output at all. Should vtkImageViewer2 be simply removed? |
Try vtkOBJExporter. Connect it to a vtkRenderer. Set "FilePrefix" first and then set "Write" to True. I am not sure how vtkImageViewer2 works, it is probably not useful. I guess we could blacklist all affected classes except vtkExporter and vtkRenderer? |
I found a working vtkImageViewer2 example: Different output types:
Having a VTKCell or vtkRenderer as input does not seem necessary for vtkImageReader2 so it has been removed. VTKOpenGLExtensionManager requires a vtkRenderWindow and is used to add OpenGL extensions to a RenderWindow. This does not seem to fit in a vistrails workflow so I am removing it. This is fixed in commit 9b8bc08. |
Follows up on comments on c880fd4, see also #1030
Some vtk modules have VTKCell input ports.
Also, even with the backwards pipeline and using a PythonSource to cast, vtkImageViewer2 doesn't seem to work:
The text was updated successfully, but these errors were encountered: