|
Boost : |
From: Stjepan Rajko (stipe_at_[hidden])
Date: 2008-07-20 19:29:09
Hello,
I uploaded some youtube videos of a new visual editor for the Dataflow
library. There are three examples, each using a different underlying
framework (the visual editor code is generic):
visually editing a Dataflow.Signals network (data flows instantly):
* http://www.youtube.com/watch?v=7a4HJ4zVPXc
visually editing a Dataflow.Managed network (data flows on request):
* http://www.youtube.com/watch?v=KwrnSjhJyf4
visually editing a BGL graph (this simple example lets you construct a
directed graph and query the number of strongly connected components):
* http://www.youtube.com/watch?v=gVLetAAnPrc
The latter two examples use proof-of-concept implementations of
alternate frameworks built on top of the generic framework that is
part of the Dataflow library:
Dataflow.Managed is unlike Dataflow.Signals in that doesn't couple
data transfer with component invocation. In other words, if producer
A is connected to consumer B, when A changes its value B will not be
notified immediately. Instead, after any number of values in the
network has changed, the network as a whole can be told to update (the
network will then notify all components whose inputs have been
modified, in the order of a topological sort of the components).
Alternatively, components can be invoked individually, which gives
them a chance to check their inputs / modify their outputs.
The BGL support layer for the Dataflow library is an example of how
something that is not strictly a dataflow thing (e.g., a graph) can
still satisfy Dataflow concepts (there are Components (vertices) that
can be connected), and be used with the framework (e.g., you get a GUI
editor for free).
If you're interested in playing with this:
The new GUI uses GLV (http://mat.ucsb.edu/glv/) which is included with
the dataflow library in the sandbox and integrated in the bjam build
of the examples. As long as you have glut/freeglut available, it
should build using gcc/darwin, MSVC8+, gcc/minGW, and if you are
better than me at knowing which X libraries to link with and know how
to manipulate a Jamfile, gcc/linux (any GCC version 4.x should work).
If you run into any problems, please let me know.
The latest code is currently available from the sandbox only,
instructions/docs at:
http://www.dancinghacker.com/code/dataflow/
Any feedback would be appreciated.
Kind regards,
Stjepan
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk