Schéma UML
Description des classes
Classe Reseau
Le nombre d'anticorps qu'il y a au départ dans le réseau est fixé.
Attributs
private:
- const static int tailledep=10000; //taille du reseau de depart
- list les_ac; //les_ac est une liste d'Ac
- vector regroupement; //regroupement est une liste de Grp_ac
- //GLUquadricObj *qobj_qte;
Méthodes
public:
- Reseau();
- ~Reseau();
- void affichage();//on désire afficher une carte d'anticorps avec les interactions entre anticorps et visualiser les vagues d'anticorps qui se forment lors de l'entree d'unag
- void copie_dans_grp(Ac* );//pour copier l'ac dans une liste d'ac à paratopes identiques
- vector * getRegroupement();//pointeur sur un vecteur de la liste d'ac à paratopes identiques
- list * getLes_ac();//renvoie une liste d'ac
- void print_infos_Grp_ac();
- Grp_ac * getRegroupement(int); //renvoie la liste d'ac à paratope identique correspond au paratope indiqué en paramètre
- void formation_reso();
- void maj();
la maj doit :
- augmenter l'age des ac du reseau du reseau (ceci se fait à chaque itération)
-
- void dupliquer();//fonction qui permet l'apport d'ac par l'intermédiaire des ac activés dans le reseau
Si l'ac est activé(paratope) alors on cree un ac identique qui peut devenir:
- soit un memoire s'il y a eu contact avec l'ag avant
- soit un non memoire dans un autre cas
- void renouvellement();
- void antigene();
Classe Tope
Peut être soit un paratope soit un idiotope, ou encore un épitope.
On regroupe tout dans une meme classe générique.
Attributs
- site : uint16_t (int de 16 bits)
- occupé : pointeur sur un Tope
Nous dit à quel tope je suis moi meme relié. Est à NULL si je ne suis relié à personne,
sinon je cotient l'adresse du tope a qui je suis relié.
Methodes
- Constructeur : Crée aléatoirement le site (suite aléatoire de 0 et de 1 qui est codee dans un uint16_t
- Destructeur : <vide>
- abscisse() : Renvoie les 8 premiers bits de para dans un int de 8 bits (uint8_t)
- ordonnée() : Renvoie les 8 derniers bits de para dans un int de 8 bits (uint8_t)
- complémentaire() : Fonction qui détermine le complémentaire. Le complémentaire correspond
à la séquence des 8 bits qui a été inversée, le 1 devient 0 et le 0 devient 1. Pour cela on se sert
du max de uint16_t (216-1) auquel on soustrait la valeur de para.
- bits(int, int) : Fonction qui nous renvoie la valeur de la séquence en bits entre le 1er int
et le 2eme int (donné en paramètre)
- bit() : Affiche la séquence des 16 bits de para (a l'envers)
- infos_paratope() : Affiche toutes les informations dont on dispose au sujet du paratope.
- affinite(Paratope pc) : C'est une fonction qui nous donne l'affinité entre en paratope et un épitope
- est_occupé : booleen. Nous dit si je suis relié à un tope (1 OUI) ou non (0 NON).
- desoccuper (void) : met la valeur de occupe a NULL (je ne suis plus occupe par un tope, notamment
lorsque le tope auquel je suis relie disparait du réseau (suite à la mort d'un anticorps)
- occuper(Tope *) (void) : Met l'adresse du tope (envoyé en paramètre) auquel je suis relié
dans mon attribut "occupe". Se fait lorsque je rencontre un nouvel anticorps.
Classe Ac (Anticorps)
Attributs
Methodes
- est_active (bool) : Un anticorps est dit activé lorsque son paratope est occupé.
On ne fait que vérifier si le paratope est occupe ou non.
- vieux() (bool) : Nous dit si l'ac est vieux ou non. On a en fait fait augmenter
l'age de chaque anticorps à chaque itération. Suivant qu'il est dit "Memoire" ou non, la limite
fixee pour savoir s'il est vieux est non est différente (cf la fonction)
-
Classe Grp_ac (groupe d'Anticorps)
Attributs
Methodes