QGIS API Documentation
3.18.1-Zürich (202f1bf7e5)
|
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 (NavigationMode mode) |
Emitted whenever the navigation mode changes. More... | |
void | stateChanged (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... | |
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 currenttemporal navigation mode. More... | |
void | setAnimationState (AnimationState state) |
Sets the current animation state. More... | |
void | setCurrentFrameNumber (long long frame) |
Sets the current animation frame number. More... | |
void | setFrameDuration (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 |
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 22 of file qgstemporalnavigationobject.cpp.
QgsTemporalNavigationObject::AnimationState QgsTemporalNavigationObject::animationState | ( | ) | const |
Returns the current animation state.
Definition at line 308 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 73 of file qgstemporalnavigationobject.cpp.
long long QgsTemporalNavigationObject::currentFrameNumber | ( | ) | const |
Returns the current frame number.
Definition at line 184 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 87 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 313 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 208 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 222 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 63 of file qgstemporalnavigationobject.cpp.
|
inline |
Returns the currenttemporal 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 272 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 242 of file qgstemporalnavigationobject.cpp.
|
slot |
Starts playing the temporal navigation from its current frame, using the direction specified by animationState()
Definition at line 237 of file qgstemporalnavigationobject.cpp.
|
slot |
Starts the animation playing in a reverse direction until the beginning of the time range.
Definition at line 260 of file qgstemporalnavigationobject.cpp.
|
slot |
Starts the animation playing in a forward direction up till the end of all frames.
Definition at line 248 of file qgstemporalnavigationobject.cpp.
|
slot |
Jumps back to the previous frame.
Definition at line 277 of file qgstemporalnavigationobject.cpp.
|
slot |
Rewinds the temporal navigation to start of the temporal extent.
Definition at line 282 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setAnimationState | ( | AnimationState | state | ) |
Sets the current animation state.
Definition at line 299 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setCurrentFrameNumber | ( | long long | frame | ) |
Sets the current animation frame number.
Caling this method will change the controllers current datetime range to match, based on the temporalExtents() and frameDuration() values.
Definition at line 172 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setFrameDuration | ( | QgsInterval | duration | ) |
Sets the frame duration, which dictates the temporal length of each frame in the animation.
Definition at line 189 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 213 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 68 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setNavigationMode | ( | const NavigationMode | mode | ) |
Sets the temporal navigation mode.
Definition at line 110 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 135 of file qgstemporalnavigationobject.cpp.
void QgsTemporalNavigationObject::setTemporalRangeCumulative | ( | bool | state | ) |
Sets the animation temporal range as cumulative.
Definition at line 227 of file qgstemporalnavigationobject.cpp.
|
slot |
Skips the temporal navigation to end of the temporal extent.
Definition at line 287 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 167 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 232 of file qgstemporalnavigationobject.cpp.
long long QgsTemporalNavigationObject::totalFrameCount | ( | ) | const |
Returns the total number of frames for the navigation.
Definition at line 293 of file qgstemporalnavigationobject.cpp.