Apache OpenOffice (AOO) Bugzilla – Issue 39528
Migrate Matrix classes
Last modified: 2006-11-24 16:36:31 UTC
Migrate from old_Matrix3D (svx), Matrix3D (goodies) and Matrix4D (goodies) to ::basegfx::BXDHomMatrix classes.
Starting to do some changes. First, get rid of old_Matrix3D.
AW: Working on migrating TRSet/GetBaseGeometry implementations to use basegfx classes...
AW: Last usages in svx removed (migrated), still used in goodies (obvious), chart2 and xmloff. Checking in and going on with xmloff...
AW: XMLOFF cleanup took some time, but it's done. All stuff Matrix migrated. Needs no longer to link against goodies at all, but against basegfx, of course. Checking in.
AW: had to change basegfx stuff concerning getEmptyTuple for B3DTuple, was not implemented correctly and not exported. Corrected, checking in.
AW: xmloff still used Matrix3D definitions, removed them now. Testing and checking in.
AW: removing Matrix3D from chart2...
AW: Done for chart2, checking in.
AW: OK,no more Matrix3D, just in goodies. Looking for Matrix4D...
AW: Going on. Removing last usages from goodies (except the implementation and definition). If that works, i can move it to binfilter. Trying...
AW: Problem is that most 3D classes from goodies are also used in binfilter. Since binfilter shall not be changed in any circumstance, i started to add a bf_goodies to binfilter which will include the needed classes. Since not all goodies stuff can be migrated to binfilter (e.g. GraphicObject) , i will link bf_goodies to goodies and add wrappers. AW: Very difficult and time intensive stuff...
AW: Slowly reducing unresolved externals in binfilter libs. Progessing...
AW For adaption of libs.mk i have to resync m66 -> m88. This will take a while...
AW: Okay, resync is done and build is through on all 3 plattforms. Matrix3D and other goodies-3D-classes are now isolated in binfilter, works well. Continuing with Matrix3D occurrences...
AW: Looking into Matrix4D. Need to remove from goodies first.
AW: Started to build from scratch with Matrix4D, Vector3D and similar stuff removed from goodies. Just made engine3d in svx compile, pfuh :-)
AW: Done.
As disccused with AW: added fix for decompose method of B3DHomMatrix. Some rotation matrices were not decomposed correctly. Example: rotate: x=20degree y=-90degree z=0degree ==> decompose ==> x=-20 y=90 z=0 which is not the same rotation in the end.
Target changed.
Verified changes on CWS, wrote followup issue 68716 to remove unused code from goodies. @iha: please verify your changes.
->AW: Back to you as reopened. My subtask is in, but the overall matrix3d migration seems to have failed. Check the following: Create a 3D shape (convert a rectangle to 3D) or a 3D diagram. Rotate it with the mouse clicking near the middle and move the mouse straight to the right rotation handle. -> The shape or diagram changes its center position, what is different to before. In addition if you repeat the rotation several times the object gets smaller and smaller. You sometimes end up with a size that looks similar to a vertical thin line.
back to aw for further error analysis
AW: I think it is the same as #i69174#, somewhere an numerical/optimize error takes place.
AW: Last problem was inded double to #i69174#, works now. Setting back to fixed.
Target adapted.
AW: Inetrnal changes, too many to review. Thats why this CWS is so intensively tested. Setting to verified.
AW: Integrated, closing.