mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-08 00:05:09 -04:00
This mode is purely for animated map movies -- the user can set the total number of frames, and the animation will progress frame by frame for that number of frames, advancing the current map settings frame at each step (also the @frame_number expression variable). No time based filtering of data is performed when in this mode.
347 lines
9.6 KiB
Plaintext
347 lines
9.6 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgstemporalnavigationobject.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class QgsTemporalNavigationObject : QgsTemporalController, QgsExpressionContextScopeGenerator
|
|
{
|
|
%Docstring(signature="appended")
|
|
Implements a temporal controller based on a frame by frame navigation and animation.
|
|
|
|
.. versionadded:: 3.14
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgstemporalnavigationobject.h"
|
|
%End
|
|
public:
|
|
|
|
QgsTemporalNavigationObject( QObject *parent /TransferThis/ = 0 );
|
|
%Docstring
|
|
Constructor for QgsTemporalNavigationObject, with the specified ``parent`` object.
|
|
%End
|
|
|
|
void setAnimationState( Qgis::AnimationState state );
|
|
%Docstring
|
|
Sets the current animation ``state``.
|
|
|
|
.. seealso:: :py:func:`animationState`
|
|
%End
|
|
|
|
Qgis::AnimationState animationState() const;
|
|
%Docstring
|
|
Returns the current animation state.
|
|
|
|
.. seealso:: :py:func:`setAnimationState`
|
|
%End
|
|
|
|
void setNavigationMode( const Qgis::TemporalNavigationMode mode );
|
|
%Docstring
|
|
Sets the temporal navigation ``mode``.
|
|
|
|
.. seealso:: :py:func:`navigationMode`
|
|
%End
|
|
|
|
Qgis::TemporalNavigationMode navigationMode() const;
|
|
%Docstring
|
|
Returns the current temporal navigation mode.
|
|
|
|
.. seealso:: :py:func:`setNavigationMode`
|
|
%End
|
|
|
|
void setTemporalExtents( const QgsDateTimeRange &extents );
|
|
%Docstring
|
|
Sets the navigation temporal ``extents``, which dictate the earliest
|
|
and latest date time possible in the animation.
|
|
|
|
.. note::
|
|
|
|
Calling this will reset the :py:func:`~QgsTemporalNavigationObject.currentFrameNumber` to the first frame.
|
|
|
|
.. seealso:: :py:func:`temporalExtents`
|
|
%End
|
|
|
|
QgsDateTimeRange temporalExtents() const;
|
|
%Docstring
|
|
Returns the navigation temporal extents, which dictate the earliest
|
|
and latest date time possible in the animation.
|
|
|
|
.. seealso:: :py:func:`setTemporalExtents`
|
|
%End
|
|
|
|
void setAvailableTemporalRanges( const QList< QgsDateTimeRange > &ranges );
|
|
%Docstring
|
|
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.
|
|
|
|
.. seealso:: :py:func:`availableTemporalRanges`
|
|
|
|
.. versionadded:: 3.20
|
|
%End
|
|
|
|
QList< QgsDateTimeRange > availableTemporalRanges() const;
|
|
%Docstring
|
|
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.
|
|
|
|
.. seealso:: :py:func:`setAvailableTemporalRanges`
|
|
|
|
.. versionadded:: 3.20
|
|
%End
|
|
|
|
void setCurrentFrameNumber( long long frame );
|
|
%Docstring
|
|
Sets the current animation ``frame`` number.
|
|
|
|
Calling this method will change the controllers current datetime range to match,
|
|
based on the :py:func:`~QgsTemporalNavigationObject.temporalExtents` and :py:func:`~QgsTemporalNavigationObject.frameDuration` values.
|
|
|
|
.. seealso:: :py:func:`currentFrameNumber`
|
|
%End
|
|
|
|
long long currentFrameNumber() const;
|
|
%Docstring
|
|
Returns the current frame number.
|
|
|
|
.. seealso:: :py:func:`setCurrentFrameNumber`
|
|
%End
|
|
|
|
void setFrameDuration( const QgsInterval &duration );
|
|
%Docstring
|
|
Sets the frame ``duration``, which dictates the temporal length of each frame in the animation.
|
|
|
|
.. note::
|
|
|
|
Calling this will reset the :py:func:`~QgsTemporalNavigationObject.currentFrameNumber` to the closest temporal match for the previous temporal range.
|
|
|
|
.. seealso:: :py:func:`frameDuration`
|
|
%End
|
|
|
|
QgsInterval frameDuration() const;
|
|
%Docstring
|
|
Returns the current set frame duration, which dictates the temporal length of each frame in the animation.
|
|
|
|
.. seealso:: :py:func:`setFrameDuration`
|
|
%End
|
|
|
|
QgsDateTimeRange dateTimeRangeForFrameNumber( long long frame ) const;
|
|
%Docstring
|
|
Calculates the temporal range associated with a particular animation ``frame``.
|
|
|
|
This is calculated from the navigation start time (taken from :py:func:`~QgsTemporalNavigationObject.temporalExtents`),
|
|
the specified ``frame`` number, and the frame duration (see :py:func:`~QgsTemporalNavigationObject.frameDuration`).
|
|
%End
|
|
|
|
void setFramesPerSecond( double rate );
|
|
%Docstring
|
|
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.
|
|
|
|
.. seealso:: :py:func:`framesPerSecond`
|
|
%End
|
|
|
|
double framesPerSecond() const;
|
|
%Docstring
|
|
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.
|
|
|
|
.. seealso:: :py:func:`setFramesPerSecond`
|
|
%End
|
|
|
|
void setTemporalRangeCumulative( bool state );
|
|
%Docstring
|
|
Sets the animation temporal range as cumulative.
|
|
|
|
.. seealso:: :py:func:`temporalRangeCumulative`
|
|
%End
|
|
|
|
bool temporalRangeCumulative() const;
|
|
%Docstring
|
|
Returns the animation temporal range cumulative settings.
|
|
|
|
.. seealso:: :py:func:`setTemporalRangeCumulative`
|
|
%End
|
|
|
|
long long totalFrameCount() const;
|
|
%Docstring
|
|
Returns the total number of frames for the navigation.
|
|
%End
|
|
|
|
bool isLooping() const;
|
|
%Docstring
|
|
Returns ``True`` if the animation should loop after hitting the end or start frame.
|
|
|
|
.. seealso:: :py:func:`setLooping`
|
|
%End
|
|
|
|
void setLooping( bool loop );
|
|
%Docstring
|
|
Sets whether the animation should ``loop`` after hitting the end or start frame.
|
|
|
|
.. seealso:: :py:func:`isLooping`
|
|
%End
|
|
|
|
long long findBestFrameNumberForFrameStart( const QDateTime &frameStart ) const;
|
|
%Docstring
|
|
Returns the best suited frame number for the specified datetime, based on the start of the corresponding temporal range.
|
|
%End
|
|
|
|
virtual QgsExpressionContextScope *createExpressionContextScope() const /Factory/;
|
|
|
|
|
|
long long totalMovieFrames() const;
|
|
%Docstring
|
|
Returns the total number of frames for the movie.
|
|
|
|
.. note::
|
|
|
|
This is only used when the :py:func:`~QgsTemporalNavigationObject.navigationMode` is set to :py:class:`Qgis`.TemporalNavigationMode.Movie.
|
|
|
|
.. seealso:: :py:func:`setTotalMovieFrames`
|
|
|
|
.. seealso:: :py:func:`totalMovieFramesChanged`
|
|
|
|
|
|
.. versionadded:: 3.36
|
|
%End
|
|
|
|
void setTotalMovieFrames( long long frames );
|
|
%Docstring
|
|
Sets the total number of ``frames`` for the movie.
|
|
|
|
.. note::
|
|
|
|
This is only used when the :py:func:`~QgsTemporalNavigationObject.navigationMode` is set to :py:class:`Qgis`.TemporalNavigationMode.Movie.
|
|
|
|
.. seealso:: :py:func:`totalMovieFrames`
|
|
|
|
.. seealso:: :py:func:`totalMovieFramesChanged`
|
|
|
|
|
|
.. versionadded:: 3.36
|
|
%End
|
|
|
|
signals:
|
|
|
|
void stateChanged( Qgis::AnimationState state );
|
|
%Docstring
|
|
Emitted whenever the animation ``state`` changes.
|
|
%End
|
|
|
|
void navigationModeChanged( Qgis::TemporalNavigationMode mode );
|
|
%Docstring
|
|
Emitted whenever the navigation ``mode`` changes.
|
|
%End
|
|
|
|
void temporalExtentsChanged( const QgsDateTimeRange &extent );
|
|
%Docstring
|
|
Emitted whenever the temporalExtent ``extent`` changes.
|
|
%End
|
|
|
|
void temporalFrameDurationChanged( const QgsInterval &interval );
|
|
%Docstring
|
|
Emitted whenever the frameDuration ``interval`` of the controller changes.
|
|
%End
|
|
|
|
void totalMovieFramesChanged( long long frames );
|
|
%Docstring
|
|
Emitted whenever the total number of ``frames`` in the movie is changed.
|
|
|
|
.. note::
|
|
|
|
This is only used when the :py:func:`~QgsTemporalNavigationObject.navigationMode` is set to :py:class:`Qgis`.TemporalNavigationMode.Movie.
|
|
|
|
.. seealso:: :py:func:`setTotalMovieFrames`
|
|
|
|
.. seealso:: :py:func:`totalMovieFrames`
|
|
|
|
|
|
.. versionadded:: 3.36
|
|
%End
|
|
|
|
public slots:
|
|
|
|
void play();
|
|
%Docstring
|
|
Starts playing the temporal navigation from its current frame,
|
|
using the direction specified by :py:func:`~QgsTemporalNavigationObject.animationState`
|
|
%End
|
|
|
|
void pause();
|
|
%Docstring
|
|
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.
|
|
%End
|
|
|
|
void playForward();
|
|
%Docstring
|
|
Starts the animation playing in a forward direction up till the end of all frames.
|
|
%End
|
|
|
|
void playBackward();
|
|
%Docstring
|
|
Starts the animation playing in a reverse direction until the beginning of the time range.
|
|
%End
|
|
|
|
void next();
|
|
%Docstring
|
|
Advances to the next frame.
|
|
|
|
.. note::
|
|
|
|
Calling this slot does not change the current animation state, i.e. a paused animation
|
|
will remain paused.
|
|
%End
|
|
|
|
void previous();
|
|
%Docstring
|
|
Jumps back to the previous frame.
|
|
|
|
.. note::
|
|
|
|
Calling this slot does not change the current animation state, i.e. a paused animation
|
|
will remain paused.
|
|
%End
|
|
|
|
void rewindToStart();
|
|
%Docstring
|
|
Rewinds the temporal navigation to start of the temporal extent.
|
|
%End
|
|
|
|
void skipToEnd();
|
|
%Docstring
|
|
Skips the temporal navigation to end of the temporal extent.
|
|
%End
|
|
|
|
};
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgstemporalnavigationobject.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|