J'ai une liste std :: de type Foo * et une autre de type Bar * de taille inégale. Les deux types implémentent un système de positionnement qui permet de trier la liste par coordonnée z pour l'ordre de tirage (en fait, un point avec des valeurs x, y, z avec une valeur inférieure à la valeur de z).Combinaison de deux listes std :: de types différents: Possible?
Outre ce qui précède, ils sont complètement différents. Existe-t-il un moyen de combiner les listes afin que je puisse comparer TOUTES les valeurs z les unes contre les autres au lieu de leurs propres types?
À l'heure actuelle, par exemple, tous les foos sont triés ou toutes les barres sont triées; alors soit tous les foos sont tirés, soit toutes les barres sont tirées. Cela fait que même si une barre a un z inférieur à un Foo, elle sera dessinée en haut. De toute évidence pas la conséquence voulue. En tapant ceci, j'ai eu une révélation, est-ce que le traitement en parallèle fonctionnerait? Trier chaque liste séparément, puis alterner les dessiner, Foo, Bar, Foo, Bar, etc. ou cela entraînerait-il le même problème? Certains dessinant au-dessus des autres indépendamment de la valeur z?
Merci.
I pense que ton épiphanie fonctionnerait bien ... garde un itérateur séparé pour chaque liste, et dessine-et-alors-itère toujours sur la liste dont l''élément courant' a la valeur Z la plus basse. Répétez jusqu'à ce que vous avez atteint la fin des deux listes. Et voilà. –