* Add fov input for fisheye projections in launcher
* Updated gitignore to ignore more necessary files
* Fixed typos
* Replace `add_definitions` with `add_compile_options` in CMakeLists for /MP /bigobj, which are not preprocessor defs
* Fixes in TuioEar: add `override`; replace erroneous `unique_lock` with `lock_guard`; minor refactor
---------
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
- Remove toStringConversion function and move json_helper include out of numericalproperty.inl
- Optimizing some header files
- Remove duplicate Lua functions from properties.
- Move List,Option,Selection,String, and TriggerProperty into misc folder
- Move lua_helper include out of inline file
- Add lua_helper to the precompiled header
- Declare property functions as final. No longer have OptionProperty derive from IntProperty
- Remove Dictionary header from properties
* Remove unused feature that allowed us to "pick" nodes using touch (it didn't really work and had some nasty hardcoded and costly implementation). Fixes Touch interaction picking refactor #1041
* General refactoring of code and removing redundant code
* Make touch markers prettier (change default color and smoothen edges)
* Add module property to control which renderable types are "directly touchable"
* Add SGN property to control which individual nodes are "directly touchable" ("SupportsDirectInteraction")
* Fix stuttering when zooming in closer than the orbitalnavigator allows
* Add Ceres to touch interaction list (Forgotten in previous commit. OBS! This list will be removed)
* Small code updates (Logical ordering of functions, code standard)
* Fix compilation issue when using debug define
* Make touch navigation abort idle behavior
* Make reset a trigger property
* Fix some broken property sliders (the default step size was too big)
* Update interaction monitor state on touch interaction with WebGui
* Add some documentation of what "LM" means, and make unit test a developer property
* Define WIN32_LEAN_AND_MEAN and VC_EXTRALEAN globally
* Use forked version of TUIO, some more work on precompiled headers
* Improvements for the Kameleon module
* Move glfw init after macOS window is ready
* MacOS fixes for BigSur
* Compile fixs
* Rename hirise.asset since linux filenames are case-sensitive
* Modified globals DataStorage method to make Linux and Mac happy
* Switched to unsecure http URLs for satellites due to httprequest problem
* Keep the QApplication around on Mac because of some reason otherwise the keyboard handler crashes
* Add comment explaining the madness
* Apply same techniques to the globalscallback file
Co-authored-by: Micah Acinapura <micahnyc@gmail.com>
Co-authored-by: Gene Payne <payne.gene@gmail.com>
* Cleaner handling of global state
* Prevent Lua memory corruption (closes#982)
* Initialize glfw first thing to prevent weird joystick loading bug during startup
* Removal of dead code and compiler warnings
* Added basic internal touch
This commit only adds the description-shell of the touch implementation
* Added callbacks and first WIP of internal touch
Makes use of the TouchInput/TouchInputs class in the TouchModule.
Internally we cache the TouchInputs as an input deque and utilizes it
for motion-vectors.
This commit has bugs and issues, which will be worked upon.
* Happy new year!
Bumped year on branch-local files
* Improvements to internal touch
Almost reached feature-parity with tuio-handled touch events
- Added most of the touch-logic to touchinteraction
- Added helper functions to new TouchInput/TouchInputs classes
* Naming changes to touch interface
* Translate TUIO to TouchInput
This commit translates TUIO messages to an internal TouchInput structure
while still trying to keep feature parity.
Removed TUIO-dependencies from many files.
Changed behavior on tuioear to lock-swap its content.
* Minor cleanup and fixes
- Should fix touch roll
- Simplified some functions
* Build fix
* Use internal touch in webgui
- Added consume-logic to touch callbacks
- Constrained touch-input to either webgui or 3D application as mouse is
- This fixes some flaws with previous implementation,
such as ghost inputs
- Initialize touchmodule through init-functions rather than constructor
* Cleanup of comments
* Simplified touch classes
Added timestamp through constructor meaning no more sprinkled timestamps
Renamed TouchInputs to TouchInputHolder for clarity
Added helper functions to the Holder to see if it holds an input
Remade addInput as tryAddInput which return true on successful insertion
+ other cleanup
* Code style cleanup and tweaks
Removed avoidable zero-comparison for code clarity
Cleanup of code style
* Added comments to DirectInputSolver
Clarifying the use of the DirectInputSolver.
* Changes for coding style
Change SGCT version to make it checkout-able
* Clarify magic bitmask
* const -> constexpr const for magic bitmasks
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Fixed rotation matrices in the touchmodule, while at it I also moved out
the lev-marq solver from the touchinteraction.cpp to its own file, in an
effort to make the code lighter to read.
Also changed some logic in how touch intersection is made with the
scenenodes.
* WINDOWS: Touch server integrated into module
The touch server functionality has been integrated into the touch module
which is enabled by-default when the touch module is used on a windows
build.
The touch-hook checks for a connected digitizer (pen or touchscreen, but
I haven't tested pen)
This commit should also fix two potential low-risk race conditions in
the tuioear.cpp file.
* Added comment regarding which window we use
* Added copyright notice on the win32_touch files
Also changed from #pragma to #ifndef
* Fixes based on review
- Added anonymous namespace
- Put win32hook in openspace namespace
- Fixed indentations and linebreaks
- Fixed an issue regarding global state deinitialization
* interaction monitor first commit
* Renaming some member variables with underscore
* Interaction monitor registering mouse events and touch events
* Added setIdleTime
* Adding to CMakeLists
* Moved interactionmoitor.cpp to correct locatioN
* Cleanup after review. Removed interaction type string and fixed indentation
* Changed documentation description
* Renamed hasNewWebInput to processNewWebInput
* Some cleanup
* Rename registerInteraction to markInteraction
Add markInteraction calls to mouse and keyboard event sin OpenSpaceEngine
* Improve cmake errors
* Calling doMessageLoopWork more often to increase gui performance
* Introduce frequent callbacks
* Restructure browser update callbacks
* Cleanup cef speedup
* Add flag to toggle updating browser between renderable calls
* CEF should not be used in single process mode
* Update CEF version
* Postbuild step for finding framework from web helper
* Load libcef dynamically to fix issue with CEF update
* Only include dynamic library loader on mac
* Improve keyboard mapping support on MacOS
* Add arrow keys
* Rename manifest
* Fix bug with missing blinking cursor in text fields
* Bump minimum cmake version
* CEF fixes: Runtime and correct helper path
* Be true to actual sandbox compatibility specified by CEF
* Cleanup
* Cleanup
* CMake cleanups
* Update current year
* Update copyright header
* Use script to return list of all modules
* Update credits, license and ghoul
Introduce the ability to navigate using an anchor and aim.
Example use: Set spacecraft as anchor and planet as aim to always look down at a planet, while followin the spacecraft in its orbit.
* Move global objects out of OpenSpaceEngine
* General cleanup of main.cpp
* Add default_joystick asset to all scenes
* No longer suppress mouse interaction on slave nodes
* Window delegate uses function pointers rather than subclassing
* Fix for false overwriting of ImGUI configuration file
* Change default color and tilt angle of fisheye rendering
* Restructured performance manager
* Simplify screenshot handling
* Change to new logging format (closes#542)
* Adds a screenshots folder that uses the application startup time
* Creating focus nodes for VRT files if the info files contain location information
* Fix issue with removing virtual properties
* Add a method for returning the cartesian coordinates for a geolocation on a planet
* Interaction speed is not dependent on framerate
* Split up interaction code in files and perform smooth interpolation when changing focus
* Abstract interaction code in to functions.
* Interpolation time is dependent on angle to focus node.
* Use correct delta time when interpolating
* Fix bug regarding decomposition of camera rotation.
* Make orbital interaction mode behave as globe browsing and no longer use interactiondepth below ellipsoid.
* Do not always rotate with object. Depending on distance
* Remove interaction depth below ellipsoid. Now able to interact without renderable
* Remove specification of interactionDepthBelowEllipsoid and cameraMinHeight
* Remove GlobeBrowsingInteractionMode
* Rename OrbitalInteractionMode to OrbitalNavigator and no longer extend interactionmode.
* Move properties from interaction handler to orbital navigator
* Use smooth step for follow rotation interpolator
* Rename KeyframeInteractionMode to KeyframeNavigator
* Rename files
* Clean up.
* Separate mousestate from orbitalnavigator
* Clean up
* Split keybindingmanager from interactionhandler interactionhandler
* Rename interactionhandler to navigationhandler
* Rename files
* Clean up
* Take back usage of gotochunk and gotogeo
* Rename lua library navigation
* Move functionality from navigationhandler to keyframenavigator
* Update scripts for navigation
* Comment code
* Clean up
* Solve but that caused NaN values for camera position when being in center of globe and setting focus to the globe.
* Update jenkins file to remove build folder before building.
* Fix error in jenkins script
* Update jenkins file
* Update jenkins file
* Revert jenkins file
* I hope this makes Jenkins happy.
* Line endings God damnit
* Line endings
* Clean up
* Fix compilation issue
* Take back default scene.
* Fix indentation
* Move functions goToGeo and goToChunk to GlobeBrowsingModule.
* Include algorithm for std::find
* Remove auto and other clean up