mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-31 00:06:02 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			314 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			314 lines
		
	
	
		
			8.5 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
 | |
| 
 | |
|     enum NavigationMode
 | |
|     {
 | |
|       NavigationOff,
 | |
|       Animated,
 | |
|       FixedRange,
 | |
|     };
 | |
| 
 | |
|     enum AnimationState
 | |
|     {
 | |
|       Forward,
 | |
|       Reverse,
 | |
|       Idle,
 | |
|     };
 | |
| 
 | |
|     void setAnimationState( AnimationState state );
 | |
| %Docstring
 | |
| Sets the current animation ``state``.
 | |
| 
 | |
| .. seealso:: :py:func:`animationState`
 | |
| %End
 | |
| 
 | |
|     AnimationState animationState() const;
 | |
| %Docstring
 | |
| Returns the current animation state.
 | |
| 
 | |
| .. seealso:: :py:func:`setAnimationState`
 | |
| %End
 | |
| 
 | |
|     void setNavigationMode( const NavigationMode mode );
 | |
| %Docstring
 | |
| Sets the temporal navigation ``mode``.
 | |
| 
 | |
| .. seealso:: :py:func:`navigationMode`
 | |
| %End
 | |
| 
 | |
|     NavigationMode 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/;
 | |
| 
 | |
| 
 | |
|   signals:
 | |
| 
 | |
|     void stateChanged( AnimationState state );
 | |
| %Docstring
 | |
| Emitted whenever the animation ``state`` changes.
 | |
| %End
 | |
| 
 | |
|     void navigationModeChanged( NavigationMode 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
 | |
| 
 | |
| 
 | |
|   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   *
 | |
|  ************************************************************************/
 |