mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-05-04 09:59:44 -05:00
Address stability problems for camera paths and make them more useful in general
* Change spline curve parameter interval from [0,1] to [0,nSegments], for slightly increased precision * Use linear paths whenever precision isn't enough/paths are too long (and traverse linear paths differently, to make them less depending on the distance) * Remove OrbitalNavigator.LinearFlight and instead add "Zoom to" helper functions (closes #1837 ) * Add check to prevent triggering awkward short paths, for example when flying to the current target or to the same geo position twice * Refactor speed code and handle speed when path is shorter than start+closeup distance * Add easing to speed dampening * Add topic for engine mode (to be used for UI later) * Cleaner log when creating paths (some previous info messages are now debug messages) Related PR: OpenSpace/OpenSpace-WebGuiFrontend#70
This commit is contained in:
@@ -671,7 +671,6 @@ protected:
|
||||
bool isPropertyAllowedForBaseline(const std::string& propString);
|
||||
unsigned int findIndexOfLastCameraKeyframeInTimeline();
|
||||
bool doesTimelineEntryContainCamera(unsigned int index) const;
|
||||
std::vector<std::pair<CallbackHandle, StateChangeCallback>> _stateChangeCallbacks;
|
||||
bool doesStartWithSubstring(const std::string& s, const std::string& matchSubstr);
|
||||
void trimCommandsFromScriptIfFound(std::string& script);
|
||||
void replaceCommandsFromScriptIfFound(std::string& script);
|
||||
@@ -800,6 +799,7 @@ protected:
|
||||
double _cameraFirstInTimeline_timestamp = 0;
|
||||
|
||||
int _nextCallbackHandle = 0;
|
||||
std::vector<std::pair<CallbackHandle, StateChangeCallback>> _stateChangeCallbacks;
|
||||
|
||||
DataMode _conversionDataMode = DataMode::Binary;
|
||||
int _conversionLineNum = 1;
|
||||
|
||||
Reference in New Issue
Block a user