Re: [eigen] Re: Spline revival

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


Hi Raphael,

for the moment I have to ask you to take a look at

eigen\unsupported\test\splines.cpp

regarding the usage. I will write some documentation as soon as I find the time.

- Hauke

On Thu, Dec 1, 2011 at 11:04 AM, Raphael Haas
<raphael.haas@xxxxxxxxxxxxxxxx> wrote:
> Hi,
> Hauke, I use Splines (and Eigen of course) in my project and would like
> to have a look at your implementation - is there any documentation
> available? Didn't find Splines in the Modules Documentation.
> Thanks,
> Raphael
>
> Am 01.12.2011 10:55, schrieb Hauke Heibel:
>> Hi,
>>
>> I applied the patch to the master branch and fixed the unit tests such
>> that they are now also compiling with gcc (tested on 4.3).
>>
>> I will maintain the module and as I said before, any comments are welcome.
>>
>> - Hauke
>>
>> On Fri, Nov 25, 2011 at 3:09 PM, Hauke Heibel
>> <hauke.heibel@xxxxxxxxxxxxxx> wrote:
>>> Hi,
>>>
>>> due to a recent request, I revisited my spline fork and adapted code
>>> from it to the most recent Eigen version. Because the maintenance of
>>> this quite old fork is a bit ugly, I switched to patch queues. The
>>> most recent patch file, which was build against today's tip should be
>>> working fine. If I am not wrong, it can be imported by running
>>>
>>> $> hg import splines.patch
>>>
>>> from the console.
>>>
>>> The patch provides a simple Spline class and an interpolating spline
>>> fitting in the unsupported module. The Spline class is templated over
>>> the float type, the dimension and the degree. As for matrices, the
>>> degree can be chosed dynamically, when it is set to Eigen::Dynamic at
>>> compile time. The benefit is that with a small and fixed degree which
>>> is known at compile time, the Spline class needs almost no heap
>>> allocations.
>>>
>>> After running CMake there are some simple unit tests available in
>>> <build_dir>/unsupported/test/. So far I only tested VC10, x64. There
>>> are most likely some "typename" keywords missing as VC10 never
>>> complains and I tend to forget to specify them. :)
>>>
>>> There are some design questions which are still open:
>>>
>>> 1) Should the global functions below go into a separate namespace as
>>> e.g. Eigen::Splines or do we keep a single namespace?
>>>  Eigen::KnotAveraging
>>>  Eigen::ChordLengths
>>>
>>> 2) Is there a better solution for the static Spline member functions
>>> Spline::Span and Spline::BasisFunctions? Do they need to be static?
>>> IIRC, the reason for them being static is that
>>> a) they need to be used when there is not yet a Spline object
>>> available (see e.g. SplineFitting<SplineType>::Interpolate)
>>> b) they can benefit (in particular Spline::BasisFunctions) from
>>> knowing about the underlying Spline's compile time degree
>>>
>>> Any comments are welcome and I hope to be able to merge this soon with
>>> the master branch.
>>>
>>> Regards,
>>> Hauke
>
>
> --
> Dipl.-Ing. Raphael Haas
> Head of R&D Structural Design
> Aeroelastics
>
> WINDnovation Engineering Solutions GmbH
> Stralauer Platz 33-34
> 10243 Berlin
> Germany
> Phone: +49 30 547195 34
> Fax:   +49 30 547195 39
> Managing directors:
> Dr.-Ing. Roland Stoer, Dipl.-Ing. Albrecht Kantelberg
> Registered at Amtsgericht Charlottenburg, HRB 110081 B
>
> www.windnovation.com
>
> Certified according to ISO 9001:2008
>
>
>



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