← Back to team overview

yade-dev team mailing list archive

Re: WM3 -> Eigen migration

 

Thanks for comments.



2010/2/1 Václav Šmilauer <eudoxos@xxxxxxxx>

>
> > I have just committed some changes.
> Looking at your code:
>
> 1. why you duplicate the vector (Vector3r::value)???? You can get all
> you need just by using this pointer, or omitting the instance
> altogether:
>
> Real X(){ return x(); }
> Real X(){ return this->x(); }
>
> (don't forget derived class inherits all that from its parent class)
>
> None of them do not work for me.


> 2. I don't think we want to initialize Vector3r to zeros in the default
> ctor; it is used so frequently that it would hurt performance. (Normally
> the object is constructed and assigned a value right away).
>
> Done.


> > I need to rewrite all operators for that?
> You have to try if base class operators will do (they should be picked
> up by the compiler); I assume their functionality is the same in most
> cases (like Vector3r+Vector3r), so you have nothing to do in that case.
> Some operators might need wrapping, such as quaternion*vector products,
> I think.
>
> For the I/O operators, see if eigen defines them already; then you don't
> need to duplicate that.
>
> Well, it seems, that all operators needs to be rewriten. I have done it,
but dont you find "my way" like a strange one? I did not find a better
solution.
Could you not give me an advice on how to declare those Vector3r::ZERO...
etc?

Thanks for patience.



> Cheers, V
>
>
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
> Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev<https://launchpad.net/%7Eyade-dev>
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References