[Development] Moving math3d classes from GUI to CORE
kshegunov at gmail.com
Thu Jan 23 13:37:36 CET 2020
On Thu, Jan 23, 2020 at 10:56 AM Jaroslaw Kobus <Jaroslaw.Kobus at qt.io>
> one of the tasks planned for Qt 6 is to move the math3D classes from QtGui
> to QtCore (https://bugreports.qt.io/browse/QTBUG-46653).
Why? My personal experience leads me to believe that the transformations
and such aren't really suited for general-purpose work (i.e. gui
unrelated), so I really don't see the point of going through the motions.
This is what we also advise people in the forums - if you want to do math
on vectors (unrelated to the painting), do it manually/pull a dep or w/e.
These may be interesting for you to take a look at:
https://bugreports.qt.io/browse/QTBUG-75146, which triggered:
none of which seem to be possible, or wanted.
> 1. QMatrix4x4 class (to be moved into Core) uses QTransform class (which
> is currently a part of Gui lib, inside paining dir):
2. Old QMatrix class, which is to be ultimately deprecated in Qt 5.15, is a
> field member of:
I'll pass here, I don't have an opinion on that.
> 3. QMatrix inside QVariant / QMetaType. If we are going to remove QMatrix
> type in Qt 6, we need to remove it from QMetaType::Type enum (current value
> = 79). Then we create a gap at position 79. We may adjust the values for
> other types (like instead of 80 for QTransform we move it to 79, and so
> on). However, I wonder whether it is going to work in cases like data
> streaming (e.g. someone stored the variant using Qt 5.15 and now he want to
> read it in Qt 6). Or should we just leave the gap at 79?
I'd say leave the gap, seems more prudent. My concern you spelled
explicitly already - if indeed someone uses a stream that comes from Qt 5.x
but is read in Qt 6.x then reordering the types means breaking the stream
for no obvious reason.
> 4. Where to place math3d classes? Currently they are in gui/math3d. Should
> they go to corelib/math3d, or should they be added into some already
> existing dir, like corelib/tools?
I think it's best to leave them in the gui module.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Development