52 lines
1.4 KiB
C++
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
|