19 #ifndef QGSTEMPORALNAVIGATIONOBJECT_H 
   20 #define QGSTEMPORALNAVIGATIONOBJECT_H 
   22 #include "qgis_core.h" 
   71     void setAnimationState( AnimationState state );
 
   78     AnimationState animationState() 
const;
 
   85     void setNavigationMode( 
const NavigationMode mode );
 
  102     void setTemporalExtents( 
const QgsDateTimeRange &extents );
 
  110     QgsDateTimeRange temporalExtents() 
const;
 
  121     void setAvailableTemporalRanges( 
const QList< QgsDateTimeRange > &ranges );
 
  132     QList< QgsDateTimeRange > availableTemporalRanges() 
const;
 
  142     void setCurrentFrameNumber( 
long long frame );
 
  149     long long currentFrameNumber() 
const;
 
  158     void setFrameDuration( 
const QgsInterval &duration );
 
  173     QgsDateTimeRange dateTimeRangeForFrameNumber( 
long long frame ) 
const;
 
  183     void setFramesPerSecond( 
double rate );
 
  193     double framesPerSecond() 
const;
 
  200     void setTemporalRangeCumulative( 
bool state );
 
  207     bool temporalRangeCumulative() 
const;
 
  212     long long totalFrameCount() 
const;
 
  219     bool isLooping() 
const;
 
  226     void setLooping( 
bool loop );
 
  231     long long findBestFrameNumberForFrameStart( 
const QDateTime &frameStart ) 
const;
 
  250     void temporalExtentsChanged( const QgsDateTimeRange &extent );
 
  306     void rewindToStart();
 
  321     QgsDateTimeRange mTemporalExtents;
 
  324     QList< QgsDateTimeRange > mAllRanges;
 
  329     long long mCurrentFrameNumber = 0;
 
  335     double mFramesPerSecond = 1;
 
  338     QTimer *mNewFrameTimer = 
nullptr;
 
  343     bool mLoopAnimation = false;
 
  345     bool mCumulativeTemporalRange = false;
 
  347     int mBlockUpdateTemporalRangeSignal = 0;
 
Abstract interface for generating an expression context scope.
virtual QgsExpressionContextScope * createExpressionContextScope() const =0
This method needs to be reimplemented in all classes which implement this interface and return an exp...
Single scope for storing variables and functions for use within a QgsExpressionContext.
A representation of the interval between two datetime values.
Base class for all map layer types.
A controller base class for temporal objects, contains a signal for notifying updates of the objects ...
Implements a temporal controller based on a frame by frame navigation and animation.
NavigationMode
Represents the current temporal navigation mode.
@ NavigationOff
Temporal navigation is disabled.
@ FixedRange
Temporal navigation relies on a fixed datetime range.
@ Animated
Temporal navigation relies on frames within a datetime range.
AnimationState
Represents the current animation state.
@ Forward
Animation is playing forward.
@ Reverse
Animation is playing in reverse.
@ Idle
Animation is paused.
NavigationMode navigationMode() const
Returns the current temporal navigation mode.
Helper functions for various unit types.