Bonjour,
En travaillant sur un des points de la génération de ville je suis tombé sur un problème vraiment basique que je n'arrive pas à résoudre.
Je ne comprend vraiment pas pourquoi cela ne fonctionne pas pourtant rien de bien compliqué normalement.
J'ai une liste qui représente un polygone convexe ou concave ce n'est pas important mais une liste de point représente un ensemble de segment et je veux parcourir tous les segments donc les points consécutifs 2 à 2 et et c'est simple théoriquement j'ai 2 itérateurs dont un en avance d'un cran sur l'autre. Je quitte mon do while quand le premier itérateur est a end(). Et si celui en avance est à end() je le fais pointé sur begin :
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
glBegin(GL_LINES);
it0 = it1 = il.data.begin();
it1++;
do
{
	glVertex3f(it0->x - DX, 0.0f, it0->z - DZ);
	glVertex3f(it1->x - DX, 0.0f, it1->z - DZ);
	it0++;
	if (it1 != il.data.end())
		it1++;
	else
		it1 = il.data.begin();
} while (it0 != il.data.end());
glEnd();

Mais lorsque je fais celà le dernier segment me donne la première valeur bonne et la seconde aléatoire mais pas la première valeur de ma liste.
Ou me suis-je trompé ?

PS : il contient data qui est une liste de fvector2d qui contient en autre 2 float x et z.

Merci