Bonjour !
J'ai un problème avec le resize d'un vecteur.
lors du resize, utilisé dans la classe, l'objet ne s'affiche plus. Les coordonnées sont bien présentes, j'ai fait des fonctions de retours pour inspecter le tableau.
.hpp
cpp:
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
30 struct Vertex { float x, y, z; }; class Surfaces { public://fonction membres allias méthodes Surfaces();//constructeur Surfaces(int ID, int nb_points); ~Surfaces();//destructeur void give_a_name(std::string const &name);//user define std::string return_a_name(); void build_shape(int nb_points);//build vertex default int return_nb_points(); int return_array_size(); float return_x_of_a_point(int point); float return_y_of_a_point(int point); private://variables membres allias attributs int m_nb_vert;//number of vertices for the shape vector<Vertex> m_vertex; //vertex x y z, see struct vertex
Si je le déclares manuellement, l'objet s'affiche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void Surfaces::build_shape(int nb_points) { m_nb_vert=nb_points; m_vertex.resize(nb_points); for(int i=0;i<m_nb_vert;i++) { m_vertex[i].x= -.9+(.4*i); m_vertex[i].y= -.9+(.4*i); m_vertex[i].z= 0.0f; } }
Celà me donne l'impression que le resize réinitialise en int ou en bool mon vecteur.
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 m_vertex[0].x= -0.5f; m_vertex[0].y= 0.5f; m_vertex[0].z= 0.0f; m_vertex[1].x= 0.5f; m_vertex[1].y= 0.5f; m_vertex[1].z= 0.0f; m_vertex[2].x= 0.5f; m_vertex[2].y= -0.5f; m_vertex[2].z= 0.0f; m_vertex[3].x= -0.5f; m_vertex[3].y= -0.5f; m_vertex[3].z= 0.0f;
bizarre, bizarre...
Partager