Greg,

Thanks. I forwarded your very informative message to Mr. Mark Hatch
of ICS.  I invited him to join opendx-developers list if he wished
to follow the thread.

Almost six months ago i was given a complimentary copy of BX Pro
5.0.1
for Linux  by Mark Hatch.  When I have time I might play with it
and opendx.

Suhaib

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of
> [EMAIL PROTECTED]
> Sent: Monday, February 14, 2000 3:33 PM
> To: opendx2-dev@lists.berlios.de
> Subject: Re: [opendx-dev] BX Pro and OpenDX
>
>
> BXDX. - a prototype integration of Builder Xcessory and
> DX.   I never got
> around to showing it to ICS; I certainly should have.  In
> addition to
> neatly integrating the two, it addressed what I perceived
> to be the chief
> shortcoming of BX at that time (maybe still) - the basic
> approach that you
> build a UI, test it in "play mode"  with some limited
> built-in Motif
> callbacks, and then write out C code, which you then
> hack, using good old
> vi (or emacs, if you must) to build the bulk of the
> functionality of the
> app.   Forget running the ap itself under BX;  BX isn't
> an app builder, its
> a UI builder - and it shows.  Using BXDX, you can write
> and install
> callbacks while you are building the app, and then use
> them in play mode -
> never exitting BX.  You can build the functionality of
> your application
> concurrently as you build its UI -  not as a
> post-process, after the fact -
> and to use DX to provide a high-level progamming
> interface to build that
> functionality.   So BXDX is a fully functioned
> visualization application
> builder.  You write out the code, compile it and you have
> a complete app.
>
>  I never understood why BX didn't allow you to edit and
> link in callbacks
> on the fly.
>
> A couple paragraphs on motive.  We long believed that the
> ability to build
> end-user applications was important for DX's commercial
> success.  While we
> had originally conceived it as a tinkerer's tool, in
> which the VPE network
> editor was a central piece  that the end-user would want to use to
> interactively re-program the visualization on the fly, we
> came to believe
> that people might want to build canned applications that
> they could turn
> around and deliver to their customers as closed
> applications.  To this end
> we made several modifications to DX, including the
> ability to encode
> networks so that the application provider could protect
> their intellectual
> property, the ability to convert DX-ish control panels to
> a look much
> closer to standard Motif, and the ability to deliver
> constrained versions
> of DX that did not include the VPE (along with a
> lower-cost license).
>
> Even so, the applications you could deliver were
> constrained by the
> limitations of DX's GUI builder.  DXUI, while extremely
> easy to use,
> provides only a limited GUI-builder capability: image windows, the
> collection of interactors into control panels, and some
> limited control
> over the management of those types of windows.   Above
> all, I was always
> irked by the inability to create a single frame that
> contained both
> interactors and image windows.  Like a trivial isosurface
> viewer: a control
> bar at the top with a File pulldown to load a data file,
> aybe an Options
> pulldown to turn axes annotation on and off, a slider at
> the side to
> interactively select an isovalue, and an Image window to
> spin the resulting
> isosurface around.  Couldn't do it then, can't now.
>
> So I was looking into alternatives.  At which time a
> prospective customer
> came and challenged us to a bake-off against AVS.  They
> proposed an
> application, and paid me (or rather, paid IBM) to come in
> and build it in
> front of them, and paid AVS to do the same.  Since the
> app as spec'd had
> that single-frame appearance, I knew I couldn't build it
> in straight DX, so
> I asked them what GUI builder they were accustomed to,
> and suggested I use
> it.  They were BX users, so I fotched together a little
> code to interface
> the two, and went down there.  I'll leave it to them to
> comment on the
> outcome of the bake-off.
>
> So.  Back to the trivial example, but lets elaborate it a
> tiny bit to make
> it interesting.  Suppose we want to feed the area of the
> isosurface back to
> the UI to show up in another widget.
>
> (I might get the details wrong - its been a couple years - but the
> following is the basic idea).
>
> Any BX user can assemble the widgets necessary; I won't
> go into that beyond
> saying that you use the ImageWindow widget BXDX provides,
> and when you do
> so, a DX manager panel appears.  You press a button and
> DX starts.  You do
> two things that you normally wouldn't need to do: you
> give both the
> destination text widget and the  ImageWindow  unique names.
>
> So.   You have to build a network.  You push a button in
> the DX manager
> panel, and up comes the VPE.  You put together a little
> net, with two
> NamedInputs to receive the isovalue and the filename,
> plus what? Import,
> Isosurface, SuperviseWindow (with the name you assigned
> to the  ImageWindow
> as a parameter), SuperviseState, Display, Measure.  At
> the bottom you
> format a string that looks something like "set text
> widget xxxx to \"The
> Area Is yyyy\"" (I don't recall the syntax) and passes it
> to a special
> module.  Save the net.
>
> Now you need to add a callback to the UI to pass down the
> filename.  You
> push a button in the DX manager window, and the callback
> editor appears.
> You type in code that pulls the file name from the widget
> that comes in as
> a parameter, and calls DXLink to send it to the
> NamedInput in the net.  A
> button compiles it and a button installs it.   Edit the
> file selector
> dialog.  Find the correct callback resource, and type in
> the name of the
> one you just coded.  You do the same for a slider widget
> - create, compile
> and install a callback that extracts the value from the
> slider widget and
> sends it to the named input of the net.
>
> Put it in play mode.  It all works - even the area
> message, that is
> automatically routed to the correct widget by the infrastructure.
>
> If people are interested, I might be able to put the
> pieces together for a
> show-and-tell.
>
> Greg
>
>
>
> Please respond to opendx2-dev@lists.berlios.de
>
> Sent by:  [EMAIL PROTECTED]
>
>
> To:   "[EMAIL PROTECTED] Ibm. Com" <opendx2-dev@lists.berlios.de>
> cc:
> Subject:  [opendx-dev] BX Pro and OpenDX
>
>
>
>
> Greg and Pete
>
> Any comments on the following message from Mark Hatch from ICS?
> Is the BX Pro feature still exists or can this code be activated
> again?
>
> Thanks
>
> Suhaib
>
>
> > -----Original Message-----
> > From: Mark Hatch [mailto:[EMAIL PROTECTED]
> > Sent: Monday, February 14, 2000 12:35 PM
> > To: Suhaib Siddiqi
> > Subject: RE: lesstif on cygwin
> >
> >
> >
> > >
> > >
> > >What kind of BX Pro hooks was it having?  Was it an
> > added advantage
> > >for data visualization?
> >
> > Primarily we were used to build the user interface . A
> > widget was added to
> > the BX palette for DX (the closed one  ;-) ). Basically,
> > a developer would
> > build the ui to his/her application and then drop a DX
> > widget on the UI. At
> > that point, DX took over for the actual display. This was
> > suppose to
> > compete with the AVS product that combined their 3D
> > Visualization tool with
> > our competitor, UIM/X (Visual Edge).
> >
> > I suspect that they lost a couple deals to AVS, and this
> > lack of a GUI
> > builder integration was mentioned by the customer as
> > being key to their
> > decision. Hard to imagine that there was that big an
> > advantage to having a
> > visualization object on a GUI builder palette!
> >
> > Mark
> > ~
> > Integrated Computer Solutions, Inc.
> > Visual Development Tools for Professionals
> >
> > 617-621-0060 x108 (voice)
> > 617-621-9555 (fax)
> >
> > 201 Broadway
> > Cambridge, MA 02139
>
>
>

Reply via email to