[Development] Move math3d from QtGui to QtCore

Thomas McGuire thomas.mcguire at kdab.com
Thu Jul 5 09:07:35 CEST 2012


Hi,

On Wednesday 04 July 2012 20:33:03 Thiago Macieira wrote:
> On quarta-feira, 4 de julho de 2012 18.27.19, Laszlo Papp wrote:
> > I would like to propose to move the math3d folder with all the
> > portings of course to QtCore from QtGUI in Qt5. The reason is simple:
> > I have recently started to work again on QtAudio3D, and I realized
> > that, I would need such things like QVector3D. Surely, an 3D audio Qt5
> > add-on should not depend on QtGui since wrapping coordinates and so
> > forth are basically a core feature to me. I have already started
> > writing the change, but it is unfinished yet.
> > 
> > As far as I can tell, the codebase is almost pure core construction,
> > except the toTransform(), toAffine() and so forth helper methods.
> > Those would need to be ported on top of the simple moving. I do not
> > expect that a very hard job. It is probably mostly historical reason
> > as how that was born with OpenGL in mind (just clearly speculating
> > though), but the need is now just arising for doing this more
> > accessible.
> > 
> > Please share your concerns! Thank you in advance.
> 
> My concern is that QtCore is not a dumping ground for "everything non-GUI
> that some library or app might need". We now have two discussions about
> moving classes into QtCore.
> 
> I want to see a good argument of why it should be in QtCore, as opposed to
> why it shouldn't be in QtGui. 99% of the applications link to QtGui
> anyway, so I'm not convinced the move would gain anything in any way.
> 
> And you also need to tell me that the classes are generally useful, even
> outside of any relation to OpenGL (which was their original goal).

One place outside of OpenGL were I'd like to use the math3d classes is in 
QtSensors, which has a class QRotationReading to represent device rotation. 
Right now the rotation is represented by 3 floats as euler angles, but we'd 
like to add other representations such as matrix or quaternion. The math3d 
classes would fit quite well for that. We'd like to avoid a QtGui dependency 
there, and those math3d classes would fit right along QPoint, QRect etc.

Long term I also think we need to watch out for QtCore becoming a dumping 
ground. QtCore used to be the library that contained only the essentials to 
get an application running. With the modularization of Qt5, it might get a 
different role - every non-UI class that is not worth a seperate library. If 
we want to avoid that, we need to think of another convenient place to add 
these kind of non-UI classes, currently there is nowhere else to put them.

Regards,
Thomas
-- 
Thomas McGuire | thomas.mcguire at kdab.com | Software Engineer
KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
Tel. Germany +49-30-521325470, Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-independent software solutions
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3637 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120705/b9dc3955/attachment.bin>


More information about the Development mailing list