summaryrefslogtreecommitdiffhomepage
path: root/opentrack-logic/tracker.cpp
AgeCommit message (Collapse)Author
2016-08-12all: rename modules s#^opentrack-##. and opentrack -> apiStanislaw Halik
Adjust usages.
2016-08-10logic/tracker: try keep constant HzStanislaw Halik
- the timekeeping handling was incorrect and Hz was lower than expected - change Hz from 333 to 250 Hz - adjust track-logger usage
2016-08-10spline-widget, gui: rename mapping-related files and classesStanislaw Halik
Adjust usages.
2016-08-09logic/tracker: simplifyStanislaw Halik
- no need to declare "inverts" as an array. it's used in only one place - class Pose is redundant, use an alias for Mat<...> - declare static constexpr const for logger stuff
2016-08-07logic/tracker: fix gimbal lock in a crude wayStanislaw Halik
Divide euler angle representation by four. Now 180 maps to 45. Our conversion back from matrix to euler won't cause gimbal lock anymore. Of course multiply back when it's time to map. Keep the real representation for translation compensation. The value of four got chosen since it's a multiply of two (IEEE float exponent is base 2).
2016-07-29track logging: why not write proper csv with COMMA separated lists! Also ↵DaMichel
write proper header.
2016-07-29new track logging: record poses in various stages of processing into a fileDaMichel
2016-07-25logic/tracker: fix compensation for real this timeStanislaw Halik
2016-07-25logic/{simple-mat,tracker}: fix translation compensation signsStanislaw Halik
They didn't match between rotation and translation again.
2016-07-23logic/tracker: fix translation compensationStanislaw Halik
2016-07-23logic/tracker: fix typoStanislaw Halik
2016-07-23gui/options, logic: add experimental offset from centerStanislaw Halik
This works fine for rotating the translation.
2016-07-23logic/tracker: cleanupStanislaw Halik
2016-07-23logic, api: switch euler to use euler_t input. adjust usages.Stanislaw Halik
2016-07-23logic/tracker: users report camera offset for rotation is goodStanislaw Halik
Requested-by: @WF000, white_fang on bms forum Issue: #392
2016-07-20logic/tracker: doesn't make sense to apply camera offset to rotationStanislaw Halik
2016-07-19move nan check to compatStanislaw 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-04logic/tracker: get roll for camera centering from inertial centeringStanislaw Halik
It stays centered this way. Sadly yaw and pitch are still somewhat not fixed in the user's reference frame.
2016-07-04logic/tracker, api/simple-mat: don't convert rad <-> deg all the timeStanislaw Halik
2016-06-29logic, gui: no need to reference "struct main_settings"Stanislaw Halik
Now that "struct main_settings" doesn't implicitly reload in dtor, we no longer have to pass it around from the user interface. Only reload it where it's modified, i.e. in the options dialog. Changing the filter/dialog/mapping comboboxen implicitly saves the main options however.
2016-06-28logic/nan: move prototype to headerStanislaw Halik
2016-06-18logic/tracker: add unconditional compensation lineStanislaw Halik
The reason for its existence is that we can't rotate translation by rotation as-is. The signs are wrong and we're not using the XYZ order for Tait-Bryan either. The line location was incorrect due to mismerge.
2016-06-16logic/tracker: don't translation compensate twiceStanislaw Halik
It's dubious why that line was there. It needs further testing however.
2016-06-16all: split "api" into "api" and "logic"Stanislaw Halik
Here, the "logic" module has all the stuff for building one's own graphical user interface. The "api" module has stuff used by other trackers. While at it, each of "api", "logic", and "compat" need their own export headers. This is because of preprocessor symbol clashes. This is all because a change in the "gui"-only dependency required a relink of all the trackers, protocols, and flters. It takes too long when building in the release configuration. With the split, only the "gui" module gets rebuilt. Since it has close to no static dependencies, it's fast enough.