In order to improve stability, we need to change basegfx to GLM. The basegfx module (http://opengrok.libreoffice.org/xref/core/basegfx/source/) implements basic algorithms and datatypes for graphics. GLM provides some additional functionality and could be used in OpenGL too. So you have to overload the methods in basegfx to return glm datatypes. The second part of the task, would be writing wrappers between glm and basegfx datatypes. Thanks!
idly wondering why we have to start with basegfx, aren't there much uglier things in tools like Rectangle, Polygon etc. to replace :)
glm provides a well maintained library for low-level computer graphics algorithms that maps really well to OpenGL. Of course this does not mean that an easy-hack for replacing tools classes would not be a good idea. However this one is a task related to our other OpenGL tasks.
I'm interested in this, as I have some experiences with GLM, but the task is not completely clear to me. What methods should I overload to return GLM datatypes? Basegfx mostly contains classes which are used widespread in the codebase. There are two things I can think of: 1) keep the current classes and use them as a wrapper around the corresponding GLM types (e.g. use a glm::dvec2 instead of two doubles in B2DVector), or 2) completely get rid of basegfx's vectors and matrices, find out where they're used, replace them with GLM ones and put the additional helper methods (like matrix inversion, etc.) into new class(es). The first scenario is this easy-hack is about, I think (plus the writing of conversion functions between basegfx and GLM types). Please somebody confirm what I think is correct, so I can start hacking.
Migrating Whiteboard tags to Keywords: (easyHack, difficultyBeginner, skillCpp, topicCleanup)
JanI is default CC for Easy Hacks (Add Jan; remove LibreOffice Dev List from CC) [NinjaEdit]
Not as clearly defined as we would expect these days
Closing this as wontfix since none of the active developers has shown any interest. Please re-open if someone feels like actually working on this.