Bonjour,
Je code pour le moment une stucture objet de maillage "dynamique".
Ainsi voila les les elements de base :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class vertex { private Point3f X; //coordonnées private int id; //identifiant/numéro private LinkedList<edge> edges; //liste de references vers les arretes ... }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class edge { private int id; //identifiant/numero private vertex[] vertices; //tableau de 2 vertex private face[] faces; //tableau de 2 faces ... }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public class face { private int id; private edge[] edges; }Voila en gros.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public class maillage { /** Boite englobante */ private float Xmin; private float Xmax; private float Ymin; private float Ymax; private float Zmin; private float Zmax; /** elements composant le maillage */ private LinkedList<face> faces; private LinkedList<edge> edges; private LinkedList<vertex> vertices; ... }
Pour tester mes méthodes, j'ai fait un main() :
Seulement voila, je ne connais rien aux itérateurs, et donc le probleme vien du fait que je en sais pas comment récuperer la reference de mon objet dans ma liste, car l'itérateur la parcours mais n'a pas de méthode pour récuperer le contenu de l'element courant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public static void main(String[] args) { System.out.println("Program started"); maillage m = new maillage(); m.build(); //consturction du maillage de test ListIterator it = m.getVertices().listIterator(); vertex test = new vertex((float)0.0, (float)0.0, (float)0.0); while(it.hasNext()) { vertex tt = (vertex)it; float[] data = tt.getCoord(); System.out.println("Test X:"+data[0]+" "+data[1]+" "+data[2]+""); if(it.equals(test)) { System.out.println(" Trouvé"); } it.next(); System.out.println(" next"); } System.out.println("Program terminated"); }
Ainsi :
j'ai regardé la FAQ mais je n'ai rien trouvé de concluant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Program started Exception in thread "main" java.lang.ClassCastException: java.util.LinkedList$ListItr at maillage_main.main(maillage_main.java:20) (la ligne 20 étant "vertex tt = (vertex)it;" )
Merci de m'aider....
Partager