From graphics-request at octave dot org Mon Jul 5 02:59:00 2004 Subject: Re: OctPlot - yes it's yet another handle graphics package for octave From: Ole Jacob Hagen To: graphics at octave dot org Date: Mon, 05 Jul 2004 09:59:12 +0200 Hi, Octave graphics people. I am the "project manager" and one of few developers of Oplot. We have separated Handle Graphics functionality from the Widget- and VisualisationPart of Oplot. We have tried to make it clean, but it will also need som polishing to make more cleanly. Oplot uses Coin (OpenGL C++ library, based on Open Inventor from SGI), and Qt for widgets. A-ha, you say? Qt is not available on Windows in GPL lisence, only in a professional lisence. My counter-reply for this is one link: http://kde-cygwin.sourceforge.net/qt3-win32/compile-msvc.php also known as Qt3/Win32 where you can download Qt-3.1 and compile it using MSVC yourself. I have actually tested it out, and will give some code to the OpenGL widgets. Qt-3.1 is old, but there will be a Qt-3.2 or Qt-3.3 soon, I guess. Most of the qt examples and tutorials works. If a python wrapper, or if PyQt works with this Qt, that would be great news for scripters. Therefore we can ensure that Oplot will be kind a OS independent...As long porting from Qt/X11 to Qt/Win32 continues. The kde-cygwin peoples are also trying to make KDE run in native Windows without cygwin, same as Qt/Win32 does. Shai, you are welcome to contribute code to us, or give insigthful comments if you're interested in not reinventing the wheel. If other graphic developers wants to contribute code to Oplot, please send me an email and get our "Software Development Document", which describes Oplot and how we are working. There are some steps in doing software. A patch to the oplot source, needs to be overviewed by all the developers of Oplot. The reason is quite obvious really, since everybody will have knowledge of all modules in Oplot. And therefore if someone bails out from developing Oplot, the rest of oplot developers won't suffer. We have Axes, Figure, Line, Patch and Image objects done, and can actually make a subplot using H*ndle G*** routines. Cheers, Ole J. Paul Kienzle wrote: > Shai, > > Please keep a clean separation between graphics toolkit and > plotting. E.g., 3D plots should only have the open gl window > handle, not the handle of the toolkit which wraps them. Work > with other groups. Find code in knewplot and oplot that you > can use (much easier if either were implemented independently > from a particular toolkit). Separate it cleanly, improve it and feed > it back to them. > > Do the UI in a high level scripting language. Either octave (eat > your own dogfood), or Tcl or Python. I know Tcl/Tk has an > active community developing UI widgets, which means less work > for you. Unfortunately, it is not as organized as it should be, so > you get lots of different implementations of the same widgets > (sound familiar?). I suppose Gtk/Fltk/Qt offers the same benefits, > except that the widgets are in C. For the common widgets, use a > common interface so that another toolkit can be substituted when > fltk gets crufty. This is pretty much dictated by the desire for > compatibility anyway. > > Don't short change printing. Working scientists need to include > plots in their log books. BTW, TeX-like math markup in plot > labels would be nice. You might want to look at some mathml > renderers (e.g., gtkmathml or amaya), or others (e.g., texmacs). > > To paraphrase Newton, we can see farther standing on each > other's shoulders. > > Paul Kienzle > pkienzle at users dot sf dot net > > On Jul 4, 2004, at 2:41 PM, Shai Ayal wrote: > >> Hi all >> >> I'm happy to announce release 0.1 of OctPlot, a handle graphics >> package for Octave, striving to become a superset of M*tlab handle >> graphics. It is available on >> >> http://sourceforge.net/projects/octplot/ >> >> Octplot's claim to fame is that is it based on fltk, the small fast >> toolkit. It is cross platform and runs natively on linux and cygwin >> (no X required for cygwin). It is tested on Linux (rh9, fc1) and >> cygwin, and should theoretically work on the Mac OS X also. >> >> As most of the other packages out there, it also utilizes OpenGL for >> possible hardware acceleration. >> >> Currently octplot does the following: >> 2D line plots using the commands "plot" , "line" >> property setting and query using the commands "set" ,"get" >> multiple figures using "figure" >> axis limits set and query using the command "axis" >> axis zoom using the mouse (zoom using left button, unzoom using right). >> Quality postscript output using the command "print" >> >> A sample session: >> >> cd octplot-0.1/src ## sorry, no install script yet >> octave ## tested with 2.1.49, 2.1.50 and 2.1.57, and octave-forge >> setup_octplot ## this sets up dispatch etc... >> h=plot(sin((0:10000)/10000*2*pi,'g-"); ## plot a line & get handle >> get(h); ## shows all available properties >> set(h,linestyle,"--","linewidth,3,marker,"+"); ## set a few of them >> ## now play with the mouse to zoom in and out :) >> >> As you see release 0.1 has limited functionality and I put it out >> there mainly to get feedback, so don't hesitate. Please use the >> sourceforge feedback mechanism. >> >> future plans -- >> add patch, subplots, TeX parsing of text, uicontrols, 3D ... >> >> >> Enjoy It, I know I did >> Shai >> > >