Hi there. I'm developing an AMR analysis toolkit (in Python) which
supports S2PLOT as a means of rendering, if it finds the s2plot python
module. (Specifically, it supports phase diagrams, halo plotting, and
some fixed-res datacubes.) First off, let me say, S2PLOT is an
impressive piece of software. It's been easy to use and it puts out
great images that are clearly designed to present data with an eye
toward intelligent visualization.
One of the primary entry points to the analysis toolkit is via a
wxPython GUI. I've had no success spawning S2PLOT windows from within
the wxPython framework -- I assumed this might be because of the
different threading models, but additionally the duplicate calls to
glutInit. Ideally, one would be able to initialize a wxGLCanvas
(
http://wiki.wxwidgets.org/WxGLCanvas) inside a managed wxPython
window, but not initialize the GLUT environment. (Obviously this
could compromise the different display methods -- so maybe it isn't a
workable solution.)
Has there been any effort to embed the interactor window inside other
GUIs? Is this a hopeless proposition? Perhaps the best option would
be to spawn a sub-thread that would handle the rendering but not
interact with the wxPython event loop; could I then use something like
the S2PLOT_BGIMG environment variables to mock-up the behavior I am
referring to?
Thanks again for all your hard work; I think this package is going to
improve the quality of 3D plots for a variety of scientific endeavors.
-Matt Turk