From db11a3ffb752c69909a92033e48023558dc81f52 Mon Sep 17 00:00:00 2001 From: Yoann Date: Tue, 18 Oct 2011 10:07:28 +0200 Subject: [PATCH] =?UTF-8?q?Modification=20de=20la=20structure=20de=20route?= =?UTF-8?q?=20et=20d=C3=A9finition=20d'une=20intersection.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roads.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/roads.c b/roads.c index 4dac2c3..60b7345 100644 --- a/roads.c +++ b/roads.c @@ -28,12 +28,28 @@ void roads(Polygon* quartier) { } /* Fonctions de Yoann suffixée par "Y" */ +/* Cette structure définie un noad de route. Les champs next et previous permettent d'avancer + * ou de reculler sur la route tant que l'on ne rencontre pas d'intersections avec une ou + * plusieurs autre routes. Dans ce dernier cas next er previous se retrouvent à NULL. + */ typedef struct roadNodeY { Vertex *v; struct roadNodeY *next; struct roadNodeY *previous; + short nbIntersec; + struct intersection *intersec; } roadNodeY; +/* Définition d'une intersection. Permet de savoir quelle route est concernée par cette intersection. + * Elle permet également de changer la navigation por parcourir une nouvelle route. + * */ +typedef struct intersection { + roadNodeY roadId; // Premier nœd de la route qui lui sert d'identifiant. + roadNodeY *next; // Nœd de la route juste après l'intersection. + roadNodeY *previous; // Nœd de la route juste avant l'intersection. + int zIndex; // Index sur l'axe z de la route. +} intersection; + const int maxSubDivision = 6; // Nombre de subdivisions max en hauteur et largeur. // TODO Fusionner les deux fonctions et retourner une paire de valeurs.