summaryrefslogtreecommitdiffhomepage
path: root/opentrack-logic
AgeCommit message (Collapse)Author
2016-08-09spline-widget: only rename filesStanislaw 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-09logic/mapping: allow for higher max translationStanislaw Halik
Issue: #408 Reported-by: @olegiy
2016-08-07logic/simple-mat: fix axis swap signStanislaw Halik
It lied in euler-to-rmat and not rmat-to-euler because rotating a vector by an rmat returned a vector as if rmat had different signs
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-31logic/tracker: remove debug printf'sStanislaw Halik
2016-07-30logic/track-logger: delete copy operators for base classStanislaw Halik
2016-07-30logic/track-logger: fix misuse of virtual keywordStanislaw Halik
2016-07-30logic/track-logger: add virtual dtor to parent classStanislaw Halik
It's defined out-of-line so that vtable is emitted only once.
2016-07-29logger: it is definitely nicer to not have things all over the placeDaMichel
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-25logic, pose-widget: fix following simple-mat moveStanislaw Halik
2016-07-25api/simple-mat: move to logicStanislaw Halik
Change causes rebuilds of all modules otherwise.
2016-07-23logic/tracker: fix translation compensationStanislaw Halik
2016-07-23logic/tracker: fix typoStanislaw Halik
2016-07-23logic/work: move from headerStanislaw 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-19logic, compat: remove pointless debug messagesStanislaw 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-18cmake: adjust paths for main executable dependenciesStanislaw Halik
2016-07-16logic: make translation mapping range sensibleStanislaw Halik
2016-07-08gui, api: plugin-support needs to remain header-onlyStanislaw Halik
Move "opentrack_library_path" to the gui module.
2016-07-08logic/dinput: add forgotten visiblity attributeStanislaw Halik
2016-07-07logic/dinput: only ever use a single handle to DIRECTINPUT8 COM objectStanislaw Halik
2016-07-07logic/joystick: initialize dinput handle ASAPStanislaw Halik
2016-07-06csv, compat, logic, api: open-code import.hppStanislaw Halik
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-07-04logic/joystick: don't logspam button pressesStanislaw Halik
On my Saitek X65F there's erratic panel button logspam. The panel's been thrown out since it's useless, and the connector is detached from everything. In any case don't do stderr io overhead for button presses.
2016-06-29logic/state: move to gui/mainStanislaw Halik
2016-06-29logic/joystick: treat each POV hat as 4 buttonsStanislaw Halik
dinput8 has separate logic for pov hats. Before pov hat state was totally ignored. Don't support 8-way buttons. Only one button gets registered after a diagonal pov hat press.
2016-06-29compat/options: separate module dll names from rest of settingsStanislaw Halik
The other settings are modified by the options dialog. These are in the main ui. We need to be able to save modules without saving the options dialog.
2016-06-29logic, gui: reload keybinding description on profile changeStanislaw 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-29gui/options: fix cancel buttonStanislaw Halik
The "struct opts" dtor doesn't run at dialog close time so invoke "reload" on the bundle explicitly.
2016-06-28logic/joystick: fix multiple bugsStanislaw Halik
- the enumerator and the handle list are now static; joysticks were erroneously destructed during refresh - setup dinput only once; creating LPDIRECTINPUT8 many times causes Release() to invalidate all handles - don't create joystick handles many times; same thing applies - refresh joy list on failed acquire; usually joystick is unplugged at that moment leading to endless stderr spam - use a static mutex as to avoid dinput races Issue: #315
2016-06-28logic/nan: move prototype to headerStanislaw Halik
2016-06-18compat, logic, api: fix export macro copy-paste errorsStanislaw 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.