|
Boost : |
From: Jake Voytko (jakevoytko_at_[hidden])
Date: 2007-04-02 02:21:06
Greetings, Boost!
I've been in the application process for Google's "Summer of Code",
and John Maddock brought up the idea of rapid prototyping in order to
start finalizing design ideas. Over a couple of days I worked out a
rough sketch of how the user interface would be organized. The
"Initial Proposal" below has a detailed description of what the
project is about, but the rough idea is that I need to visualize data
in STL containers using the SVG (Scalable Vector Graphics) format. The
sample code provided uses std::vector<double> containers currently,
and I will extend the idea to generic STL containers during the
summer.
Dr. Maddock had the idea that the class could use a stream-like
interface, sampled below.
svg_graph my_graph("file.svg");
my_graph<<x_scale(-10, 10)<<y_scale(-10, 10);
my_graph<<plot_range(my_cont.begin(), my_cont.end());
I have the basic idea of streams working, but I haven't yet
implemented multiple streams working in conjunction (as in line 2).
Again, this is a rapid prototype that I squeezed in between
schoolwork! I intend the main bulk of the work to be done during the
summer, and I feel that I still need to do some refactoring of the
code.
I am looking for suggestions of directions people would like to see
this project go. What would you like to customize in the output? Do
you have a better idea for an interface? Am I taking the
implementation in the wrong direction? How would you like invalid data
to appear? Not at all? As a gray dot on an axis? I'd like to get a
conversation going about what the user should/should not be able to do
with this.
Initial Proposal:
http://www.tcnj.edu/~voytko2/proposal.txt
Suggestions by mentors:
http://www.tcnj.edu/~voytko2/suggestions.txt
Zip file of code:
http://www.tcnj.edu/~voytko2/svg.zip
Output of sample code:
http://www.tcnj.edu/~voytko2/first.svg
The code compiles in both MS Visual Studio 8.0 and g++ 4.0.3.
Thank you for your time,
Jacob Voytko
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk