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.