File indexing completed on 2024-04-28 03:48:55

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2014 Sanjiban Bairagya <sanjiban22393@gmail.com>
0004 //
0005 
0006 
0007 #ifndef MARBLE_GEODATAANIMATEDUPDATE_H
0008 #define MARBLE_GEODATAANIMATEDUPDATE_H
0009 
0010 #include "GeoDataTourPrimitive.h"
0011 #include "MarbleGlobal.h"
0012 
0013 namespace Marble {
0014 
0015 class GeoDataAnimatedUpdatePrivate;
0016 class GeoDataUpdate;
0017 
0018 /**
0019  */
0020 class GEODATA_EXPORT GeoDataAnimatedUpdate: public GeoDataTourPrimitive
0021 {
0022 public:
0023 
0024     GeoDataAnimatedUpdate();
0025     GeoDataAnimatedUpdate( const GeoDataAnimatedUpdate &other );
0026     GeoDataAnimatedUpdate& operator=( const GeoDataAnimatedUpdate &other );
0027     bool operator== (const GeoDataAnimatedUpdate &other) const;
0028     bool operator!= (const GeoDataAnimatedUpdate &other) const;
0029     ~GeoDataAnimatedUpdate() override;
0030 
0031     /** Provides type information for downcasting a GeoNode */
0032     const char* nodeType() const override;
0033 
0034     double duration() const;
0035     void setDuration( double duration );
0036     
0037     double delayedStart() const;
0038     void setDelayedStart( double delayedStart );
0039 
0040     const GeoDataUpdate* update() const;
0041     GeoDataUpdate* update();
0042     void setUpdate( GeoDataUpdate *update );
0043 
0044 private:
0045     GeoDataAnimatedUpdatePrivate* const d;
0046 };
0047 
0048 }
0049 
0050 #endif