Re: [eigen] External contributions

[ Thread Index | Date Index | More Archives ]


I mostly agree with you,

about the doc, I'm not sure that's doable to easily change the visual
hint of selected set for files, and I don't feel comfortable with
mixing unsupported classes with the other one in the class list, etc.
So I would propose to have two doxyfiles and nest the doc like this:


and of course the main page would link to the contrib doc, and I think
using ctags we can have cross references from the contrib doc to the
main one. What do you think ?

another related (and complementary) option is to put all the
unsupported stuff  in an Eigen::unsupported namespace. I don't
remember all the doxygen features but if that's doable to have the
contrib classes prefixed with the unsupported:: namespace prefix, then
that will be fine for me ! (I mean no need to have a separated doc)

I'll see what's doable with my little unsupported contribution.

About the criteria, I would put the barrier as low as possible, but it:
 - must rely on Eigen !
 - must be math !
 - should have some general purpose in the sense that it could
potentially be included in a Eigen module (or become a new one)
 - can be very preliminary though

Another way to add contributions is via the demo/example. For instance
if something is very too specific but shows an interesting way of
using Eigen, then it can be a good demo.


On Wed, Feb 4, 2009 at 5:03 AM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
> Hi,
> Thanks for your idea. I too have been thinking about that.
> I think that my favorite option is to have a eigen2/unsupported
> directory inside which things are organized in the same way as in
> eigen2/ itself. So it would look like this:
> eigen2/unsupported/Eigen/FooModule
> eigen2/unsupported/Eigen/src/FooModule/Foo.h
> eigen2/unsupported/doc/snippets/Foo_bar_int.cpp
> eigen2/unsupported/doc/TutorialFoo.dox
> eigen2/unsupported/test/foo.cpp
> Then we would install the headers also with the unsupported/ prefix,
> but still in the same eigen2/ directory, so it would look like this:
> /usr/include/eigen2/unsupported/Eigen/FooModule
> /usr/include/eigen2/unsupported/Eigen/src/FooModule/Foo.h
> The user would either #include as follows,
> #include<unsupported/Eigen/FooModule>
> or (non default behavior) he could add
> /usr/include/eigen2/unsupported/ also to his include path so he could
> seamlessly do
> #include<Eigen/FooModule>
>> - documentation: the easiest would be to use the infrastructure from Eigne
>> core.
> Sure. It's just a matter of:
> 1) adding the unsupported/ paths to doc/, and backport to
> Mainpage.dox (for
> 2) copy the CMakeLists.txt files under doc/ to unsupported/doc/. They
> are the code responsible for building the snippets and recording their
> output.
>> have for example a different style/background in the doxygen-generated pages
>> to indicate it is not supported.
> That, or any other visual hint, good idea.
>> - contribution policy: what should be accepted as a contribution? For
>> example, I have some template files based 100% on Eigen for mechanics
>> (Recursive Newton-Euler solver for kinematic chains) and control (algebraic
>> riccati equation solver). I am also thinking of a convex optimization
>> interior-points methods at a later point.
> We have yet to write some clear criteria but I can already say that
> what you mention here sounds very good.
> Cheers,
> Benoit

Mail converted by MHonArc 2.6.19+