summaryrefslogtreecommitdiffhomepage
path: root/tracker-pt/ftnoir_tracker_pt.h
AgeCommit message (Collapse)Author
2018-02-16tracker/{pt,wii}: simplify apiStanislaw Halik
Remove useless abstract member functions, simplify some. Issue: #718
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-16cv/video-frame, tracker/pt: add hidpi preview supportStanislaw Halik
2018-01-13tracker/pt: workaround unexplained leakStanislaw Halik
Somehow, using unique_ptr causes a leak at destruct time. The stored pointer isn't freed. It works perfectly fine with shared_ptr. It seems I'm doing things correctly with a move constructor for unique_ptr in the Tracker_PT class, as well as the pointer initialization ctor in `module.cpp'. Who the hell knows what's happening behind the scenes.
2018-01-12tracker/pt: isolate point extractor and image typeStanislaw Halik
Issue: #718
2018-01-11tracker/pt: allow for reuseStanislaw Halik
Issue: #718 This allows for replacing the camera and point extractor code. See `module.cpp' and `pt-api.hpp`.
2018-01-10tracker/pt: cleanupStanislaw Halik
2018-01-10tracker/pt: reset dynamic pose on centerStanislaw Halik
2017-12-09many: use otr_tr for non-qobject translationStanislaw Halik
I haven't even compile-tested Linux and OSX-specific bits.
2017-12-04api: add status check for modulesStanislaw Halik
2017-08-19tracker/{pt,aruco}: simplifyStanislaw Halik
2017-08-14tracker/pt: move Affine class to cv/Stanislaw Halik
2017-06-18get rid of "volatile" abuseStanislaw Halik
We heavily used "volatile bool" to check if the thread loop should stop. But this functionality is already provided by Qt5's QThread::requestInterruption. In other cases, "volatile" is wonderfully underspecified so it's better to ditch its usage in favor of std::atomic<t>. At the time we don't appear to be using the "volatile" keyword except when calling win32's Interlocked*() family of functions as necessary. In freetrackclient's header the "volatile" qualifier was used as part of a typedef. This doesn't work. Use it as part of data declaration.
2017-03-20tracker/pt: rename slotStanislaw Halik
2017-03-20tracker/pt: camera changesStanislaw Halik
- move dt handling here, from ITracker impl - don't depend on other PT headers. we'd like to reuse the code. - adjust return value convention. - get rid of dt_valid - return fps as a double Adjust usages in ITracker impl and dialog.
2017-02-25tracker/pt: fix clang-reported compile errorStanislaw Halik
2017-02-21tracker/pt: resize the camera feed, not the previewStanislaw Halik
This makes the point size text and point crosses not alias due to the resize. Due to nice pixel coordinate system, the cross-drawing lambda only needs minimal changes.
2016-12-16tracker/pt: refactor camera info handlingStanislaw Halik
- Pass `struct CamInfo' rather than several elements separately - Reformat - Return `struct CamInfo' together with the frame since then it's always valid - Move the focal length formula into `struct CamInfo' - Remove incorrect focal length formula rather than #if 0 - Pass some stuff by reference and not by pointer
2016-12-03tracker/{aruco,pt}: use RAII for QObjectStanislaw Halik
2016-11-12tracker/pt: refactorStanislaw Halik
- separate .{cpp,hpp} for few classes - don't include namespaces globally; harmless but looks bad anyway - class with all public members to struct
2016-11-05fix buildStanislaw Halik
2016-11-05modules: make more strings translatableStanislaw Halik
2016-11-04modules: make names uniqueStanislaw Halik
2016-09-21many: remove compat/pi-constant.hppStanislaw Halik
With -D_USE_MATH_DEFINES MSVC defines the standard M_PI and friends. Since this preprocessor definition is now always passed as part of the build system for MSVC. We can use M_PI as if on a mission.
2016-09-16tracker/pt: get rid of pt_types classStanislaw Halik
2016-09-05tracker/{aruco,pt}: remove camera settings buttonStanislaw Halik
It's broken and users complain on the issue tracker. Also fix tab stops.
2016-08-12all: rename modules s#^opentrack-##. and opentrack -> apiStanislaw Halik
Adjust usages.
2016-08-10cv: move calibrator and video widget to cv moduleStanislaw Halik
Adjust usages in PT and Aruco trackers.
2016-07-31tracker/{aruco, pt}, compat, api: move opencv camera class to cv moduleStanislaw Halik
2016-07-19tracker/pt: reduce lockingStanislaw Halik
2016-07-19some: replace hardcoded pi values with the same pi constantStanislaw Halik
We can't depend on M_PI existing after including cmath.
2016-07-16few: update/add copyrightStanislaw Halik
2016-07-16tracker/pt: declare floating-point type size in one placeStanislaw Halik
We want double precision for POSIT. It's best for the type to be set in ope place without the need to go over everything while switching it back and forth during tests. Machine epsilon for float is very small as per <https://en.wikipedia.org/wiki/Machine_epsilon>. Also see the absurdly high epsilon of 1e-4 of POSIT that we've had. With floats, making the epsilon lower resulted in change deltas flushing to zero. This typically led to the translation Z value being very unstable in PT. After the epsilon and data type size changes the Z value is stable.
2016-06-21tracker/pt: move pi constant to headersStanislaw Halik
2016-06-09tracker/pt: no need for 4-byte command maskStanislaw Halik
2016-06-09tracker/pt: fix float/double promotionsStanislaw Halik
2016-05-22tracker/{aruco,ht,pt}: camera dialog class doesn't use a template now.Stanislaw Halik
Adjust usages.
2016-02-17tracker/pt: protect get_n_points()Stanislaw Halik
There's a race here since further accesses to the points array aren't protected by a mutex in the extractor class. There's no race in "get_points()" in the extractor since it's only used in same thread where updates take place.
2015-12-19tracker/pt: don't allocate temporary frameStanislaw Halik
2015-12-18tracker/pt: reduce mutex contentionStanislaw Halik
2015-10-30move to subdirectory-based build systemStanislaw Halik
Closes #224