[OpenWalnut-Dev] Eigen3 Transition

Sebastian Eichelbaum eichelbaum at informatik.uni-leipzig.de
Wed Apr 6 19:11:04 CEST 2011


Hi List

Me and André added the Eigen3 Matrix and Vector types to WVector3D.h and WMatrix.h. This deprecates the following classes:

* WVector3D   -> replaced by WVector3D_2
* WPosition   -> replaced by WPosition_2
* WMatrix     -> replaced by WMatrix_2
* WMatrix4x4  -> replaced by WMatrix4x4_2

Please don't be scared by the billions of warnings that appear while compiling. Each warning shows you the usage-position of one of the before-mentioned classes. The WMatrix* classes are not that often used. Porting them should be done very quickly. The vector class throws a lot of deprecation warnings. But most of them are due to the use of :

* vec[n] (operator[])
* vec.x()
* vec.y()
* vec.z()

Replace them with vec(0), vec(1), and vec(2). Thats all. I propose the following transition strategy:

* Check your modules
* Replace all direct and indirect use of the deprecated classes
  * especially replace WMatrix( 3, 3 ) and WMatrix( 4, 4 ) by WMatrix3x3_2 and WMatrix4x4_2 
* Check for self-assignment: v = M*v is invalid. use something like v = M * WVector3D_2( v );

You most probably need to change some API in common and dataHandler. Fix it if possible. If too much other modules depend on this API, you can provide an alternative signature for the method and mark the old one deprecated. They get removed afterwards.

Bye
Sebastian

PS: I'll port WMatrix4x4, since it is the matrix used in graphicsEngine and with properties.

-- 
Dipl.-Inf. Sebastian Eichelbaum
Universität Leipzig
Institut für Informatik
Abteilung Bild- und Signalverarbeitung
PF 100920
D-04009 Leipzig


More information about the OpenWalnut-Dev mailing list