File animation.h
Location: animation.h
Classes
Namespaces
Includes
Included by
Source
#ifndef f3d_animation_h
#define f3d_animation_h
#include "export.h"
#include "options.h"
#include "window.h"
namespace f3d
{
class F3D_EXPORT animation
{
public:
virtual animation& loadTime(double timeValue) = 0;
[[nodiscard]] virtual std::pair<double, double> getTimeRange() = 0;
[[nodiscard]] virtual std::vector<double> getKeyFrames() = 0;
[[nodiscard]] virtual unsigned int count() const = 0;
[[nodiscard]] virtual std::string getName(std::optional<int> index = std::nullopt) const = 0;
[[nodiscard]] virtual std::vector<std::string> getNames() const = 0;
enum class Direction : std::uint8_t
{
FORWARD,
BACKWARD
};
virtual animation& toggle(Direction direction = Direction::FORWARD) = 0;
virtual animation& start(Direction direction = Direction::FORWARD) = 0;
virtual animation& stop() = 0;
[[nodiscard]] virtual bool isPlaying() = 0;
[[nodiscard]] virtual animation::Direction getDirection() = 0;
protected:
animation() = default;
virtual ~animation() = default;
animation(const animation& opt) = delete;
animation(animation&& opt) = delete;
animation& operator=(const animation& opt) = delete;
animation& operator=(animation&& opt) = delete;
};
}
#endif