SuperSpaceInvaderTurboApoca.../lib_headers/mingl/transition/itransitionable.h
2021-12-13 09:08:31 +01:00

52 lines
1.4 KiB
C++

/**
*
* @file itransitionable.h
* @author Alexandre Sollier
* @date Janvier 2020
* @version 1.0
* @brief Interface pour objet "transitionable"
*
**/
#ifndef ITRANSITIONABLE_H
#define ITRANSITIONABLE_H
#include <vector>
namespace nsTransition
{
/**
* @class ITransitionable
* @brief Une classe abstraite pour n'importe quelle élément pouvant effectuer une transition entre deux états
*/
class ITransitionable
{
public:
/**
* @brief Destructeur pour la classe ITransitionable
* @fn virtual ~ITransitionable() {}
*/
virtual ~ITransitionable() {}
/**
* @brief Récupère des valeurs dans un vecteur de float pour l'ID spécifié
* @param[in] id: ID des valeurs a récupérer
* @param[in, out] values: Vecteur de valeurs a peupler
* @fn virtual void getValues(const int& id, std::vector<float>& values);
*/
virtual void getValues(const int& id, std::vector<float>& values) = 0;
/**
* @brief Définit les nouvelles valeurs pour l'ID spécifié
* @param[in] id: ID des valeurs a définir
* @param[in] values: Vecteur des nouvelles valeurs a appliquer
* @fn virtual void setValues(const int& id, const std::vector<float>& values);
*/
virtual void setValues(const int& id, const std::vector<float>& values) = 0;
}; // class ITransitionable
} // namespace nsTransition
#endif // ITRANSITIONABLE_H