summaryrefslogtreecommitdiffstats
path: root/src/gui/math3d/qvectornd.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use SPDX license identifiersLucie Gérard2022-05-161-39/+3
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Clean up documentation in QVector[234]DEdward Welbourne2021-02-051-30/+50
| | | | | Change-Id: I13f04c06280b998e5489eb114977ec0ed37178b7 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Make explicit that we expect co-ordinates to be finiteEdward Welbourne2021-02-041-50/+83
| | | | | | | | | | | | | | | | | | | The various spatial-vector, line, point, region and margin types have all long taken for granted that their co-ordinates are finite and, in particular, not NaN. Make this expectation explicit in the documentation. Added assertions where (chiefly) noexcept and (where the assertion would be a simple qIsFinite() call) constexpr didn't preclude doing so. Also assert against zero divisors that would lead to non-finite results. Make minor clean-ups to docs in the process. QMarginsF had several methods whose declaration, definition and docs weren't consistent in their parameter names. Task-number: QTBUG-89010 Change-Id: I601a830959d13a73dcb17ce31a1202a1486c8f7f Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Purge double-spaces in qvectornd.cpp sentence-endsEdward Welbourne2020-12-041-16/+16
| | | | | Change-Id: I4b5692334a12374b8a6b4910d411d0eab240ce4b Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Fix QVector[2|3|4]D documentationTopi Reinio2020-11-301-84/+57
| | | | | | | | | | The \fn commands for friend functions need to include the class scope for QDoc to find the declarations. Pick-to: 6.0 6.0.0 Fixes: QTBUG-88932 Change-Id: Icbb45c12d7d657d95243231148483c00baf07c36 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* De-inline qFuzzyCompare for QMatrix4x4 and QVector4DLars Knoll2020-11-191-0/+17
| | | | | Change-Id: Ic412d5cefcc1c41e90ee5cf98814469aec3a91f6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Clean up QVector2D/3D/4DGiuseppe D'Angelo2020-11-191-0/+1635
In random order: * Remove code marked for removal in Qt 6. * Inline as much as possible. This should give us a massive speed boost in some simple operations where the function call overhead as much as the cost of body of the function itself (lengthSquared, dotProduct, etc.). * Plaster constexpr and noexcept, as much as possible; follow Lakos' rule. * Unexport the classes; selectively export only the symbols still defined out of line. * Add [[nodiscard]] to any non-trivial mathematical operation (e.g. calculate the length). * To avoid circular dependencies, centralize their implementation in one file. Leave the existing headers for compatibility with existing #include statements. * Change all the signatures of the classes' members to take QVectorND, QPointF, etc. objects by value, not by const ref. Usage in other classes (e.g. QMatrix4x4) has not been adjusted. Change-Id: Iaf5a4b5289fcdf704e77656793390b8e772e94a5 Reviewed-by: Andy Nichols <andy.nichols@qt.io>