summaryrefslogtreecommitdiffhomepage
path: root/pose-widget/pose-widget.cpp
AgeCommit message (Collapse)Author
2021-12-19pose-widget: kill sizeHint()Stanislaw Halik
This doesn't work properly on complex layouts.
2021-12-19pose-widget: workaround auto fill background artifactsStanislaw Halik
Must draw the widget on our own as having it resized as part of a complex layout causes the top of the widget to get filled with garbage.
2021-08-18pose-widget: disable tab order for mirror checkboxStanislaw Halik
2021-03-08Fixed the sizes of the widgets in the main windowGO63-samara
Fixed the sizes of the widgets in the main window. Removed the background fill in the pose-widget to better match the dark theme.
2020-09-20Fix display of the Octopus pose in the Pose-widget.GO63-samara
In the extreme version of OpenTrack-2.3.12, the Octopus pose is still displayed incorrectly. I have fixed pose-widget. A video of the corrected pose-widget is available here: https://youtu.be/my4_VOwGmq4 Fixed bugs: - The turns and movements of the Octopussy are now performed truly independently of each other, as it should be in 6DOF. - When cornering, there is no "gimbal lock" at Pitch = +/- 90 degrees. - Fixed directions of axes of rotations and positions. Now the Octopus pose displays the actual direction of view on the plane. - Fixed display of the back (green) surface of the Octopus. Previously, it was displayed mirrored. Additional features: - Applied "perspective projection", the picture becomes more voluminous. - Added lighting effect from above, with the same purpose. - Added background fill for the widget. This makes it possible to see the borders of the widget. - Added X and Y axes. This helps to estimate how far the Octopus is deviated from the center. - Added [Mirror] checkbox, mirroring positions and rotations. It is often more convenient to observe the Octopussy's mirror pose. - If before compilation in the file "pose-widget.hpp" include line 19: "#define TEST", then a rectangular frame will be drawn around the Octopus. This is useful when testing a pose-widget to assess distortion and size.
2020-02-03pose-widget: make octopus less wideStanislaw Halik
Now it looks less like a frog.
2019-10-28pose-widget: embiggen octopusStanislaw Halik
2019-10-28pose-widget: fix octopus center of rotationStanislaw Halik
2019-10-06pose-widget: fix incorrect Z scalingStanislaw Halik
2019-09-22pose-widget: fix widget not expandingStanislaw Halik
2019-09-22pose-widget: fix origin positionStanislaw Halik
2019-05-02pose-widget: appease MSVCStanislaw Halik
2019-04-24pose-widget: fix back-face checkStanislaw Halik
This should really be using proper algebra.
2019-03-28pose-widget: change octopus X/Y scaleStanislaw Halik
2019-03-18pose-widget: add qt-based implStanislaw Halik
It's probably half-broken though.
2019-02-21do less global memory fences in atomicsStanislaw Halik
2019-02-02pose-widget: use namespaces correctlyStanislaw Halik
2019-01-16pose-widget: enable hidpiStanislaw Halik
2019-01-16pose-widget: handle octopus in 8-bit color w/ 1-bit alphaStanislaw Halik
2018-12-24style/quality onlyStanislaw Halik
No functional changes. - add `override' everywhere where missing - almost pass clang's `-Wweak-vtables' - avoid some float/double conversions - remove unused private members - make signedness conversions explicit - put stuff in right namespaces to aid analysis
2018-12-08clean up a bitStanislaw Halik
2018-07-08modernize onlyStanislaw Halik
2018-06-26modernize C++ syntaxStanislaw Halik
No visible changes (hopefully).
2018-06-26compat/macros: rename portability macrosStanislaw Halik
use `cc_xx' rather than awkward synonyms.
2018-06-26core, modules: modernize syntax onlyStanislaw Halik
Use more C++17 features where this helps any.
2018-02-16compat/macros: cleanupStanislaw Halik
Remove cruft, adjust usages.
2018-02-15clean up "static" and "constexpr" typesStanislaw Halik
- use `static constexpr inline' to avoid requiring explicit declarations in object code - use `const Foo* const' to maybe put into readonly binary segment (at least for ELF DSOs) - `constexpr' in function scope has storage, avoid `static' - don't use `constexpr' where there's no advantage, like arrays We'd like to avoid overhead of atomic initialization for each function call. No idea how `static constexpr' requiring storage in the standard plays with atomic initialization requirement. Hearsay points that `constexpr' without `static' in block scope behaves more to our liking. It's all hazy though. I'm not 100% sure if `static inline constexpr' has any storage. Hopefully none, like a #define, and stuff bigger than registers gets coalesced within the same module, with small stuff being immediates.
2018-01-18compat/util: retireStanislaw Halik
Adjust usages.
2018-01-10pose-widget: drop alpha calculationStanislaw Halik
We don't have 8-bit alpha in Qt anyway.
2018-01-10many: spring cleanupStanislaw Halik
2018-01-03pose-widget: sprinkle some constStanislaw Halik
2017-12-29pose-widget: fix off-by-oneStanislaw Halik
2017-12-02pose-widget: disable bilinear filteringStanislaw Halik
2017-11-14pose-widget: cleanup nonsenseStanislaw Halik
2017-10-29static constexpr -> constexprStanislaw Halik
2017-10-13compat/macros: fix "restrict" name clashStanislaw Halik
2017-10-02pose-widget: only draw needed octopus sizeStanislaw Halik
2017-09-23play with thread prioritiesStanislaw Halik
2017-09-08pose-widget: fix race on startupStanislaw Halik
2017-08-19pose-widget: clamp floatsStanislaw Halik
We can't expect bounds check to work, if depending on floating-point dot product.
2017-07-28gui: don't update the main window if it's hiddenStanislaw Halik
2017-07-20pose-widget: fix Qt use-after-freeStanislaw Halik
Due to Qt's implicit sharing, something goes wrong when calling QImage::constBits(). It's likely related to to multithreading. Strangely enough, `constBits()' shouldn't perform a copy of the image according to Qt docs. While here, remove the "offset" defensive coding. Also, use a constant depth as to reduce confusion.
2017-07-18pose-widget: fix buildStanislaw Halik
2017-06-30pose-widget: optimize CPU usage slightlyStanislaw Halik
CPU usage of an empty tracker loop fell reliably from 1% to .9%.
2017-05-12minor fixes onlyStanislaw Halik
2017-05-10pose-widget: add empty space to prevent out-out-bounds writesStanislaw Halik
2017-05-10pose-widget: projected pixel overflow isn'n an issueStanislaw Halik
2017-05-01pose-widget: catch 90 deg oblique rotation soonerStanislaw Halik
2017-04-29cv, pose-widget: don't premultiply alphaStanislaw Halik
It doesn't improve perf.
2017-04-18many: use std::f{max,min} for floating-point valuesStanislaw Halik