octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: octave gui & mingw


From: Sebastien Loisel
Subject: Re: octave gui & mingw
Date: Thu, 9 Feb 2006 17:05:32 +0100

Hi,

First off, let me say that the more octave GUI/IDE projects I know about, the better, so thanks for all the input so far. I would definetly appreciate being able to see any other code available.

Second, to introduce myself a bit more usefully, I'm a postdoc at the University of Geneva in math (scientific computing and pure analysis). I'm also a good programmer.

>From the replies, I'd like to give a few more details about my goals, and specifically answer John and Ole.

I want:
* To edit code in this GUI/IDE.
* To interact with the octave prompt in this GUI/IDE.
* To view plot, zoom, change axes, do animations (viz. set(gcf,'DoubleBuffer','on')) and so on.
* To export my plots to EPS for inclusion in my papers.
* To plot 2d and 3d.
* To have rich figure handling like subplot, axes and more generally the set command.

One of my applications includes viewing an icosahedral grid of the sphere in 3d with the solution of a PDE color-coded on it. I need to spin the sphere in real time.

On 2/9/06, John Swensen <address@hidden> wrote:
experienced, my problems may have been due to that.  I tried using the
QProcess class and redirecting STDIN, STDOUT, and STDERR to talk with an
instance of Octave.  The problem lied in the fact that I couldn't get it

think the first step would be to design a good interface control
document (ICD) that defines the data that is passed between the octave

 Ole Jacob Hagen <address@hidden> wrote:

I am planning to make oplot (http://oplot.sf.net) compatible with Qt4,
so Oplot supports Windows natively  without any cost for both end user
and developer. :-)

My intention is simple. QT4 has a text editor, look here for an amazingly short syntax highlighter: http://doc.trolltech.com/4.1/richtext-syntaxhighlighter.html. Furthermore, you can use OpenGL easily: http://doc.trolltech.com/4.1/opengl-hellogl.html. Given an OpenGL plotting program, you can easily create PS, EPS and PDF files: http://www.geuz.org/gl2ps/. Such a GUI/IDE would be portable anywhere octave and QT4 currently compile. I also like QT4 because, by my standards, it makes very concise C++ GUI code.

I would like to stick all these things and octave into a binary, so that when I plot stuff in octave, I can zoom or spin it and do whatever, just like in Matlab, and include a reasonable text editor. I really don't think it would be that much code, with all the tools I enumerated above.

Maybe communicating with octave via pipes is a great idea, but as John points out you end up having to design a communication protocol. Also, most attempts want to reuse gnuplot, which is a great idea, but I don't have the expertise to go and add to gnuplot the features I want to copy from Matlab. It's a lot easier for me to implement this stuff from scratch. On the other hand, if oplot is a QT4 widget that does what I need, then that's one less thing I have to do.

Those of you that have struggled with the threading, I am shooting initially for something much like Matlab. The GUI dies during long computations. That can be fixed later, maybe when octave becomes threadsafe or maybe before by adding a giant lock.

My idea for the plotter is that I would make available in octave three new functions: a function that draws a Gouraud shaded triangle soup (like Matlab's patch), Gouraud shaded lines and a function to place text. Okay, maybe one for setting a clip rectangle and changing the transformation matrix. Then I would implement all the higher level functionality as .m files on top of that. Matlab also has widgets and stuff but that can wait. QT can have widgets and OpenGL in the same window anyway.

Finally, and perhaps most importantly, I should add that if anyone wants to channel their enthusiasm towards one of the custom QT4 widgets I need (the .m file editor, the GL plotter or even the simpler widgets like the prompt, the lower-left working directory pane, a help widget, etc...) then I would definetly want to take advantage of such an effort.

Ok, now I have to go to the grocery store.

Sébastien Loisel


reply via email to

[Prev in Thread] Current Thread [Next in Thread]