Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
Chargement...
Recherche...
Aucune correspondance
Transition.h
Aller à la documentation de ce fichier.
1//
2// Created by awing on 09/05/2026.
3//
9
10#ifndef TEAM2026_TRANSITION_H
11#define TEAM2026_TRANSITION_H
12#include <functional>
13
14#include "Node.h"
15namespace Grafcet {
26 class Transition : public Node {
27 public:
28 Transition(){
29 isTransition = true;
30 }
31
35 void action() override {}
36
43 bool enabled() override {
44 bool parentReady = synchronize;
45 for (auto *node : parent) {
46 if (synchronize) { parentReady &= node->enabled();
47 } else { parentReady |= node->enabled(); }
48 }
49 if (condition == nullptr) { return false;}
50 return condition() && parentReady;
51 }
52
53 std::function<bool()> condition = {};
54 };
55}
56#endif //TEAM2026_TRANSITION_H
Représentation d'un noeud du grafcet.
std::array< Node *, GRAFCET_FAMILY_SIZE > parent
Liste des nœuds parents.
Definition Node.h:90
bool isTransition
true si le noeud est une transition, false sinon
Definition Node.h:77
bool synchronize
true si le noeud est synchronisant
Definition Node.h:79
void action() override
Les transitions n'ont pas d'actions.
Definition Transition.h:35
bool enabled() override
Vérifie si la transition est activé Vérifie si la transition est activé en vérifiant l'état de ses pa...
Definition Transition.h:43
std::function< bool()> condition
std::function pointant vers la fonction à évaluer pour vérifier la condition de la transition
Definition Transition.h:53
Contient les classes et fonctions nécessaires pour générer et parcourir le Grafcet.
Definition ActionNode.h:16