ImagePulser V5.2.4
Simplification des images prises avec une webcam
Chargement...
Recherche...
Aucune correspondance
/Users/vasilisskarleas/Library/Mobile Documents/com~apple~CloudDocs/Documents/University Sorbonne/3rd year/S6/c-project-rob-3-eleves-gr-2-1/Imagination/sequence_point.h
Aller à la documentation de ce fichier.
1// #############################################################################
2// # File sequence_point.h
3// # Project in C - Polytech Sorbonne - 2023/2024 - S6
4// # Authors: Evinia Anastasopoulou, Yanis Sadoun, Vasileios Filippos Skarleas - All rights reserved.
5// #############################################################################
6
13#include<stdio.h> /* utilisation des entr�es-sorties standard de C */
14#include<stdlib.h> /* utilisation des fonctions malloc et free */
15
16#include "geometry.h"
17
18/*---- le type cellule de liste de point ----*/
20{
21 Point data; /* donn�e de l'�l�ment de liste */
22 struct Cellule_Liste_Point_* suiv; /* pointeur sur l'�l�ment suivant */
24
25/*---- le type liste de point ----*/
26typedef struct Liste_Point_
27{
28 unsigned int taille; /* nombre d'�l�ments dans la liste */
29 Cellule_Liste_Point *first; /* pointeur sur le premier �l�ment de la liste */
30 Cellule_Liste_Point *last; /* pointeur sur le dernier �l�ment de la liste */
31 /* first = last = NULL et taille = 0 <=> liste vide */
33
34/* Type de la cellule de la liste des contours */
36{
37 Liste_Point data; /* donn�e de l'�l�ment de liste */
38 struct Cellule_Liste_Contours_* suiv; /* pointeur sur l'�l�ment suivant */
40
41/* Type de la luse des contours */
42typedef struct Liste_Contours_
43{
44 unsigned int taille; /* nombre d'�l�ments dans la liste */
45 Cellule_Liste_Contours *first; /* pointeur sur le premier �l�ment de la liste */
46 Cellule_Liste_Contours *last; /* pointeur sur le dernier �l�ment de la liste */
47 /* first = last = NULL et taille = 0 <=> liste vide */
49
50typedef Liste_Point Contour; /* type Contour = type Liste_Point */
51
52
53/*---- le type tableau de point ----*/
54typedef struct Tableau_Point_
55{
56 unsigned int taille; /* nombre d'�l�ments dans le tableau */
57 Point *tab; /* (pointeur vers) le tableau des �l�ments */
59
60/* cr�er une cellule de liste avec l'�l�ment v
61 renvoie le pointeur sur la cellule de liste cr��e
62 la fonction s'arrete si la cr�ation n'a pas pu se faire */
64
66
67/* cr�er une liste vide */
69
71
72/* ajouter l'�l�ment e en fin de la liste L, renvoie la liste L modifi�e */
74
76
77/* suppression de tous les �l�ments de la liste, renvoie la liste L vide */
79
80/* concat�ne L2 � la suite de L1, renvoie la liste L1 modifi�e */
82
83
84/* cr�er une s�quence de points sous forme d'un tableau de points
85 � partir de la liste de points L */
87
88/* �crire le contour L � l'�cran
89 cette fonction montre un exemple de conversion d'une liste de points en
90 tableau de points afin de pouvoir par la suite acc�der aux �l�ments d'une
91 s�quence de points par indice */
Déclaration des fonctions pour geometry.c.
Liste_Point creer_liste_Point_vide()
Crée une liste de points vide.
Definition sequence_point.c:66
Liste_Contours creer_liste_Contours_vide()
Crée une liste de contours vide.
Definition sequence_point.c:77
Liste_Point supprimer_liste_Point(Liste_Point L)
Supprime tous les éléments de la liste de points et renvoie la liste vide.
Definition sequence_point.c:137
Liste_Point concatener_liste_Point(Liste_Point L1, Liste_Point L2)
Concatène la liste L2 à la suite de la liste L1 et renvoie la liste L1 modifiée.
Definition sequence_point.c:157
struct Liste_Point_ Liste_Point
void ajouter_element_liste_Point(Liste_Point *L, Point e)
Ajoute l'élément e à la fin de la liste de points L.
Definition sequence_point.c:89
struct Tableau_Point_ Tableau_Point
Cellule_Liste_Point * creer_element_liste_Point(Point v)
Crée une cellule de liste avec l'élément v.
Definition sequence_point.c:26
Tableau_Point sequence_points_liste_vers_tableau(Liste_Point L)
Crée une séquence de points sous forme d'un tableau de points à partir de la liste de points L.
Definition sequence_point.c:176
Cellule_Liste_Contours * creer_element_liste_Contours(Liste_Point v)
Crée une cellule de liste des contours avec la liste de points v.
Definition sequence_point.c:47
struct Liste_Contours_ Liste_Contours
void ecrire_contour(Liste_Point L)
Écrit le contour L à l'écran.
Definition sequence_point.c:209
struct Cellule_Liste_Point_ Cellule_Liste_Point
Liste_Point Contour
Definition sequence_point.h:50
struct Cellule_Liste_Contours_ Cellule_Liste_Contours
void ajouter_element_liste_Contours(Liste_Contours *L, Liste_Point e)
Ajoute un contour à la liste de contours L.
Definition sequence_point.c:113
Definition sequence_point.h:36
Liste_Point data
Definition sequence_point.h:37
struct Cellule_Liste_Contours_ * suiv
Definition sequence_point.h:38
Definition sequence_point.h:20
Point data
Definition sequence_point.h:21
struct Cellule_Liste_Point_ * suiv
Definition sequence_point.h:22
Definition sequence_point.h:43
unsigned int taille
Definition sequence_point.h:44
Cellule_Liste_Contours * first
Definition sequence_point.h:45
Cellule_Liste_Contours * last
Definition sequence_point.h:46
Definition sequence_point.h:27
unsigned int taille
Definition sequence_point.h:28
Cellule_Liste_Point * first
Definition sequence_point.h:29
Cellule_Liste_Point * last
Definition sequence_point.h:30
Type Point.
Definition geometry.h:34
Definition sequence_point.h:55
Point * tab
Definition sequence_point.h:57
unsigned int taille
Definition sequence_point.h:56