QGIS API Documentation 3.30.0-'s-Hertogenbosch (f186b8efe0)
|
Implements a temporal controller based on a frame by frame navigation and animation. More...
#include <qgstemporalnavigationobject.h>
Public Types | |
enum | AnimationState { Forward , Reverse , Idle } |
Represents the current animation state. More... | |
enum | NavigationMode { NavigationOff , Animated , FixedRange } |
Represents the current temporal navigation mode. More... | |
Public Slots | |
void | next () |
Advances to the next frame. More... | |
void | pause () |
Pauses the temporal navigation. More... | |
void | play () |
Starts playing the temporal navigation from its current frame, using the direction specified by animationState() More... | |
void | playBackward () |
Starts the animation playing in a reverse direction until the beginning of the time range. More... | |
void | playForward () |
Starts the animation playing in a forward direction up till the end of all frames. More... | |
void | previous () |
Jumps back to the previous frame. More... | |
void | rewindToStart () |
Rewinds the temporal navigation to start of the temporal extent. More... | |
void | skipToEnd () |
Skips the temporal navigation to end of the temporal extent. More... | |
Signals | |
void | navigationModeChanged (QgsTemporalNavigationObject::NavigationMode mode) |
Emitted whenever the navigation mode changes. More... | |
void | stateChanged (QgsTemporalNavigationObject::AnimationState state) |
Emitted whenever the animation state changes. More... | |
void | temporalExtentsChanged (const QgsDateTimeRange &extent) |
Emitted whenever the temporalExtent extent changes. More... | |
void | temporalFrameDurationChanged (const QgsInterval &interval) |
Emitted whenever the frameDuration interval of the controller changes. More... | |
Signals inherited from QgsTemporalController | |
void | updateTemporalRange (const QgsDateTimeRange &range) |
Signals that a temporal range has changed and needs to be updated in all connected objects. More... | |
Public Member Functions | |
QgsTemporalNavigationObject (QObject *parent=nullptr) | |
Constructor for QgsTemporalNavigationObject, with the specified parent object. More... | |
AnimationState | animationState () const |
Returns the current animation state. More... | |
QList< QgsDateTimeRange > | availableTemporalRanges () const |
Returns the list of all available temporal ranges which have data available. More... | |
QgsExpressionContextScope * | createExpressionContextScope () const override |
This method needs to be reimplemented in all classes which implement this interface and return an expression context scope. More... | |
long long | currentFrameNumber () const |
Returns the current frame number. More... | |
QgsDateTimeRange | dateTimeRangeForFrameNumber (long long frame) const |
Calculates the temporal range associated with a particular animation frame. More... | |
long long | findBestFrameNumberForFrameStart (const QDateTime &frameStart) const |
Returns the best suited frame number for the specified datetime, based on the start of the corresponding temporal range. More... | |
QgsInterval | frameDuration () const |
Returns the current set frame duration, which dictates the temporal length of each frame in the animation. More... | |
double | framesPerSecond () const |
Returns the animation frame rate, in frames per second. More... | |
bool | isLooping () const |
Returns true if the animation should loop after hitting the end or start frame. More... | |
NavigationMode | navigationMode () const |
Returns the current temporal navigation mode. More... | |
void | setAnimationState (AnimationState state) |
Sets the current animation state. More... | |
void | setAvailableTemporalRanges (const QList< QgsDateTimeRange > &ranges) |
Sets the list of all available temporal ranges which have data available. More... | |
void | setCurrentFrameNumber (long long frame) |
Sets the current animation frame number. More... | |
void | setFrameDuration (const QgsInterval &duration) |
Sets the frame duration, which dictates the temporal length of each frame in the animation. More... | |
void | setFramesPerSecond (double rate) |
Sets the animation frame rate, in frames per second. More... | |
void | setLooping (bool loop) |
Sets whether the animation should loop after hitting the end or start frame. More... | |
void | setNavigationMode (const NavigationMode mode) |
Sets the temporal navigation mode. More... | |
void | setTemporalExtents (const QgsDateTimeRange &extents) |
Sets the navigation temporal extents, which dictate the earliest and latest date time possible in the animation. More... | |
void | setTemporalRangeCumulative (bool state) |
Sets the animation temporal range as cumulative. More... | |
QgsDateTimeRange | temporalExtents () const |
Returns the navigation temporal extents, which dictate the earliest and latest date time possible in the animation. More... | |
bool | temporalRangeCumulative () const |
Returns the animation temporal range cumulative settings. More... | |
long long | totalFrameCount () const |
Returns the total number of frames for the navigation. More... | |
Public Member Functions inherited from QgsTemporalController | |
QgsTemporalController (QObject *parent=nullptr) | |
Constructor for QgsTemporalController, with the specified parent object. More... | |
Public Member Functions inherited from QgsExpressionContextScopeGenerator | |
virtual | ~QgsExpressionContextScopeGenerator ()=default |
virtual QgsExpressionContextScope * | createExpressionContextScope () const =0 |
This method needs to be reimplemented in all classes which implement this interface and return an expression context scope. More... | |
Implements a temporal controller based on a frame by frame navigation and animation.
Definition at line 39 of file qgstemporalnavigationobject.h.
Represents the current animation state.
Enumerator | |
---|---|
Forward | Animation is playing forward. |
Reverse | Animation is playing in reverse. |
Idle | Animation is paused. |
Definition at line 59 of file qgstemporalnavigationobject.h.
Represents the current temporal navigation mode.
Enumerator | |
---|---|
NavigationOff | Temporal navigation is disabled. |
Animated | Temporal navigation relies on frames within a datetime range. |
FixedRange | Temporal navigation relies on a fixed datetime range. |
Definition at line 51 of file qgstemporalnavigationobject.h.
QgsTemporalNavigationObject::QgsTemporalNavigationObject | ( | QObject * | parent = nullptr | ) |
Constructor for QgsTemporalNavigationObject, with the specified parent object.
Definition at line 23 of file qgstemporalnavigationobject.cpp.
QgsTemporalNavigationObject::AnimationState QgsTemporalNavigationObject::animationState | ( | ) | const |
Returns the current animation state.
Definition at line 340 of file qgstemporalnavigationobject.cpp.
QList< QgsDateTimeRange > QgsTemporalNavigationObject::availableTemporalRanges | ( | ) | const |
Returns the list of all available temporal ranges which have data available.
The ranges list can be a list of non-contiguous ranges (i.e. containing gaps) which together describe the complete range of times which contain data.
Definition at line 191 of file qgstemporalnavigationobject.cpp.
|
overridevirtual |
This method needs to be reimplemented in all classes which implement this interface and return an expression context scope.
Implements QgsExpressionContextScopeGenerator.
Definition at line 74 of file qgstemporalnavigationobject.cpp.
long long QgsTemporalNavigationObject::currentFrameNumber | ( | ) | const |
Returns the current frame number.
Definition at line 208 of file qgstemporalnavigationobject.cpp.
QgsDateTimeRange QgsTemporalNavigationObject::dateTimeRangeForFrameNumber | ( | long long | frame | ) | const |
Calculates the temporal range associated with a particular animation frame.
This is calculated from the navigation start time (taken from temporalExtents()), the specified frame number, and the frame duration (see frameDuration()).
Definition at line 92 of file qgstemporalnavigationobject.cpp.
long long QgsTemporalNavigationObject::findBestFrameNumberForFrameStart | ( | const QDateTime & | frameStart | ) | const |
Returns the best suited frame number for the specified datetime, based on the start of the corresponding temporal range.
Definition at line 345 of file qgstemporalnavigationobject.cpp.
QgsInterval QgsTemporalNavigationObject::frameDuration | ( | ) | const |
Returns the current set frame duration, which dictates the temporal length of each frame in the animation.
Definition at line 233 of file qgstemporalnavigationobject.cpp.
double QgsTemporalNavigationObject::framesPerSecond | ( | ) | const |
Returns the animation frame rate, in frames per second.
This setting controls the overall playback speed of the animation, i.e. how quickly a playing animation will advance to the next frame.
Definition at line 247 of file qgstemporalnavigationobject.cpp.
bool QgsTemporalNavigationObject::isLooping | ( | ) | const |
Returns true
if the animation should loop after hitting the end or start frame.
Definition at line 64 of file qgstemporalnavigationobject.cpp.
|
inline |
Returns the current temporal navigation mode.
Definition at line 92 of file qgstemporalnavigationobject.h.
|
signal |
Emitted whenever the navigation mode changes.
|
slot |
Advances to the next frame.
Definition at line 297 of file qgstemporalnavigationobject.cpp.
|
slot |
Pauses the temporal navigation.
Calling this slot changes the animation state to idle, preventing automatic advancement of frames.
It does not affect the current animation frame number or the current temporal range of the controller.
Definition at line 267 of file qgstemporalnavigationobject.cpp.
|
slot |
Starts playing the temporal navigation from its current frame, using the direction specified by animationState()
Definition at line 262 of file qgstemporalnavigationobject.cpp.
|
slot |
Starts the animation playing in a reverse direction until the beginning of the time range.
Definition at line 285 of file qgstemporalnavigationobject.cpp.
|
slot |
Starts the animation playing in a forward direction up till the end of all frames.
Definition at line 273 of file qgstemporalnavigationobject.cpp.
|
slot |
Jumps back to the previous frame.
Definition at line 302 of file qgstemporalnavigationobject.cpp.
|
slot |
Rewinds the temporal navigation to start of the temporal extent.
Definition at line 307 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setAnimationState | ( | AnimationState | state | ) |
Sets the current animation state.
Definition at line 331 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setAvailableTemporalRanges | ( | const QList< QgsDateTimeRange > & | ranges | ) |
Sets the list of all available temporal ranges which have data available.
The ranges list can be a list of non-contiguous ranges (i.e. containing gaps) which together describe the complete range of times which contain data.
Definition at line 186 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setCurrentFrameNumber | ( | long long | frame | ) |
Sets the current animation frame number.
Calling this method will change the controllers current datetime range to match, based on the temporalExtents() and frameDuration() values.
Definition at line 196 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setFrameDuration | ( | const QgsInterval & | duration | ) |
Sets the frame duration, which dictates the temporal length of each frame in the animation.
Definition at line 213 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setFramesPerSecond | ( | double | rate | ) |
Sets the animation frame rate, in frames per second.
This setting controls the overall playback speed of the animation, i.e. how quickly a playing animation will advance to the next frame.
Definition at line 238 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setLooping | ( | bool | loop | ) |
Sets whether the animation should loop after hitting the end or start frame.
Definition at line 69 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setNavigationMode | ( | const NavigationMode | mode | ) |
Sets the temporal navigation mode.
Definition at line 124 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setTemporalExtents | ( | const QgsDateTimeRange & | extents | ) |
Sets the navigation temporal extents, which dictate the earliest and latest date time possible in the animation.
Definition at line 149 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setTemporalRangeCumulative | ( | bool | state | ) |
Sets the animation temporal range as cumulative.
Definition at line 252 of file qgstemporalnavigationobject.cpp.
|
slot |
Skips the temporal navigation to end of the temporal extent.
Definition at line 312 of file qgstemporalnavigationobject.cpp.
|
signal |
Emitted whenever the animation state changes.
QgsDateTimeRange QgsTemporalNavigationObject::temporalExtents | ( | ) | const |
Returns the navigation temporal extents, which dictate the earliest and latest date time possible in the animation.
Definition at line 181 of file qgstemporalnavigationobject.cpp.
|
signal |
Emitted whenever the temporalExtent extent changes.
|
signal |
Emitted whenever the frameDuration interval of the controller changes.
bool QgsTemporalNavigationObject::temporalRangeCumulative | ( | ) | const |
Returns the animation temporal range cumulative settings.
Definition at line 257 of file qgstemporalnavigationobject.cpp.
long long QgsTemporalNavigationObject::totalFrameCount | ( | ) | const |
Returns the total number of frames for the navigation.
Definition at line 318 of file qgstemporalnavigationobject.cpp.