Re: [eigen] Eigen2 in Avogadro

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi,

Thanks for making this list. By the way:
some grep on kde trunk tell me:
ouch! You checked out all of it? There is also lxr.kde.org but indeed it is less powerful i.e. it seems to search in trunk+branches and there is apparently no way to restrict to trunk.

Fist:

kritaplugins/panorama uses eigen1

D'oh! I thought that I had ported all of KOffice. I missed it because it is a separate subdir. I'll take care of that when I can.

So what next ?

For me, I tell you frankly: I've delayed my focusing-on-job too much already, I cannot continue coding for now besides kritaplugins/panorama. I'll try to contribute to Eigen's documentation (btw kudos for the QuickStartGuide and the rest, it's very good). I can't tell exactly how bad this is going to be.

About kgllib: sure, it is a very good idea to port it to eigen2. According to lxr it is currently only used in Astrododge, a new game by Rivo currently in playground, but as with other libs this is a chicken and egg problem and so it's definitilely worth porting it (sidenote: kgllib reuses some code from avogadro.)

step uses gmm

This one is a top priority because it is part of the kde base modules (namely kdeedu). And also because it's a cool program and because its authors already expressed interest in Eigen. But, it would use the Sparse module. At the KDE-Edu meeting in december I talked with the Step authors (the Kuznetsov) and this is what told me they were using:
-gmm::cg, constrained_cg
-dantzig algorithm
-types: gmm::row_matrix, col_matrix, rsvector, array1D_reference

playground/solidcreator uses eigen1

Hehe, this one is by Casper Boemann, one of the co-founders of Eigen. He already asked me if I could port it to eigen2, but I had no time. If you do it he would be very happy.

digikam uses its own matrix class
kipi-plugins/jpeglossless uses digikam matrix class
playground/kldraw uses its own classes
playground/tamponi uses gsl
marble uses its own quaternion class and a "typedef qreal[4][3] matrix;" !
kpovmodeler uses its own matrix/vector classes
kmplayer uses its own matrix class (looks like QTransform or Eigen::Transform2f)
kscreensaver/lorenz uses a Matrix3D class coming from ??

to be discussed with the respective maintainers. Yes, the main initial goal of Eigen was to make a unified vector/matrix framework available to all KDE subprojects, to get rid of all these custom classes. So it makes a lot of sense to propose them.

In Marble we find Inge Wallin, also a Eigen co-founder... we were three, after a few weeks Casper and Inge had become too busy with other priorities (they both are also KOffice developers).

Cheers,
Benoit

Quoting Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:

Hi,

thanks a lot for the debug in the geometry module !

So what next ? some grep on kde trunk tell me:

kgllib uses eigen1
playground/solidcreator uses eigen1

that's it for eigen1, now what about other matrix/vector classes
(excluding QMatrix and QTransform of course):

digikam uses its own matrix class
kipi-plugins/jpeglossless uses digikam matrix class
playground/kldraw uses its own classes
playground/tamponi uses gsl
marble uses its own quaternion class and a "typedef qreal[4][3] matrix;" !
kpovmodeler uses its own matrix/vector classes
step uses gmm
kmplayer uses its own matrix class (looks like QTransform or Eigen::Transform2f)
kscreensaver/lorenz uses a Matrix3D class coming from ??

this list is just to give an overview of the current uses of
matrix/vector in KDE trunk, and that's it... nevertheless I think
kgllib should really be ported to eigen2 before it goes into KDE, and
I'm willing to do it if the main developer agree of course. Indeed, I
think kgllib could complement very well Eigen2's geometry module thus
avoiding the need to add an OpenGL module in Eigen2. Well maybe not,
in case kgllib goes into kdelibs this would only makes sense for
projects already having a dependency to kde... let's see.

cheers,
gael.


On Mon, Aug 25, 2008 at 7:09 AM,  <jacob@xxxxxxxxxxxxxxx> wrote:
Hi,

I ported another project to Eigen2. This time we're talking about Avogadro,
a visual molecule manipution program. Avogadro is different from other
molecular visualization software in that it is not just a viewer, but a
complete molecular editor and analysis suite. It offers an app and also a
library that is being used in Kalzium to offer a simplified interface to
some of that functionality.

Just give it a try -- creating molecules from scratch, while their shape is
being adjusted in runtime by a forcefield, is rather exhilarating.

Eigen provides the whole geometry framework, so this porting gave our
Geometry module a good testing and prompted several API improvements and bug
fixes.

Check it out at:
http://avogadro.openmolecules.net/wiki/Main_Page

Cheers,
Benoit

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.










----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/