Regarding native win32 support, I have prototyped a native win32 executive (FYI OpenDX consists of two processes at runtime - a UI, that includes the visual programming environment, the interactors, the Image window etc, and the exec, which does the real work), and an ActiveX component wrapper that I call ActiveDX. You can use any number of ActiveDX components in an application, each customized by running its own OpenDX network, which is actually a macro. The ActiveDX infrastructure batches invokations of each control's macro into a single main macro (there's a sequence property of the control that allows you to order the macro calls in the main macro). The ActiveDX control has a property that allows you to specify a template of its macro call, and another that allows you to substitute values for names in the template. There are two special parameter names that get substituted by the ActiveDX infrastructure automatically: HWND, which receivesthe hWnd of the control, allowing OpenDX to render into it, and SIZE, which clues OpenDX in to how big an image to render.
So, for example, you can do a little isosurface viewer with a single ActiveDX control, with an appropriate macro and the template (in pseudo-Visual Basic): adxCntl.template = "IsoControl(HWND, SIZE, FILENAME, ISOVALUE);" Then you have another control allow the user to enter the name of the file containing the volumetric data, and then set: adxCntl.parameter = "FILENAME=whatever". The network will run and show you an isosurface at the default value, since we haven't specified a isovalue. But we can: adxCntl.parameter = "ISOVALUE=9.876543" You can share data between controls; for example with three controls: adxCntl1.sequence = 0 adxCntl1.template = "data = ImportControl(FILENAME);" adxCntl2.sequence = 1 adxCntl2.template = "IsoControl(HWND, SIZE, data, ISOVALUE);" adx.Cntl3.sequence = 2 adx.Cntl3.template = "SliceControl(HWND, SIZE, data, AXIS, WHICH):" There's more about ActiveDX in the OpenDX mailing list archives. Porting the standard OpenDX UI would be difficult; there's a lot of X in there, much of which is pretty low-level, including a bunch of custom widgets. There is, however, rumors of interest in doing so, possibly supported by Microsoft itself. More about that, too, in the OpenDX mailing list archives, I think. Greg Porting the OpenDX UI
