Bonjour,

Voila mon problème, j'ai un set de Vertex3D mais je n'arrive pas à faire un comparateur correct. Le compilo n'accepte pas un comparateur de cette forme

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
struct comp {
	bool operator() (Vertex * v1, Vertex * v2) const
	{
		if(v1->getX() < v2->getX())
                      return true;
                else if(v1->getY() < v2->getY())
                       return true;
                else if(v1->getZ() < v2->getZ())
                       return true;
                else
                       retun false;
        }
};
J'utilise pour l'instant ce comparateur qui n'est pas tout à fait correct puisque les vertex (0.5,0,0) et (0,5,0) sont egaux dans ce cas .

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
struct comp {
	bool operator() (Vertex * v1, Vertex * v2) const
	{
		if((v1->getX()*100 + v1->getY()*10 + v1->getZ() < 
                    v2->getX()*100 + v2->getY()*10 + v2->getZ()))
			return true;
		else
			return false;
	}
};

Donc si vous avez une idée......merci