|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Liste chainée de class dans une class... [ Divers / Général ] (jojomillenium)
Informations & options pour cette discussion
dimanche 12 novembre 2006 à 13:08:23 |
Liste chainée de class dans une class...

jojomillenium
|
Bonjour, Je fait un programme en API sans MFC, J'ai une class du genre: class VERTEX // Build our Vertex Class { public: GLfloat pt[12]; // 3D coordinates x, y // hauteur };
// CLASS GROUPANT LES 4 SOMMETS DE LA FACE class QUAD // Build our Quads Structure { public: int num_pts; bool visible; int type; GLdouble* bottom; GLdouble* top; VERTEX* vertex; };
// CLASS D'UN COUCHE class LAYER // Build our LAYER Class { public: int num_quads; bool visible, existe; float hauteur, zstart, h, penetration; char* nom_cif; char* nom_couche; vec4 color; QUAD* quad;
LAYER() { this->num_quads=0; this->zstart = 0.0; this->hauteur = 0.0; this->h = 0.0; this->color.set(0, 0, 0, 1.0); this->visible=true; this->nom_cif = ";"; this->nom_couche = ";"; }
void SetLayer(char* _nom_cif, char* _nom_couche, float z, float h, float p, float r, float g, float b, float a) { this->nom_cif = _nom_cif; this->nom_couche = _nom_couche; this->num_quads=0; this->zstart = z; this->hauteur = h; this->penetration=p; this->h = h; this->color.set(r, g, b, a); this->visible=true; this->existe=true; }
void AddValue(int _type, int _num_pts, float* _tab_pts, int _symbole, int _top_symbole, bool _visible) {
this->quad[num_quads].type = _type; this->quad[num_quads].num_pts =_num_pts; this->quad[num_quads].bottom = new GLdouble[_num_pts*3]; this->quad[num_quads].top = new GLdouble[_num_pts*3]; this->quad[num_quads].vertex = new VERTEX[_num_pts]; this->quad[num_quads].top_symbole = _top_symbole; this->quad[num_quads].symbole = _symbole; for(int s=0; s<_num_pts; s++) { this->quad[num_quads].bottom[s*3] = _tab_pts[s*2]; this->quad[num_quads].bottom[s*3+1] = this->zstart; this->quad[num_quads].bottom[s*3+2] = _tab_pts[s*2+1]; this->quad[num_quads].top[s*3] = _tab_pts[s*2]; this->quad[num_quads].top[s*3+1] = this->zstart + this->h; this->quad[num_quads].top[s*3+2] = _tab_pts[s*2+1];
} for(int c=0; c<_num_pts; c++) { for(int i=0; i<2; i++) { int d=c+i; if(d==_num_pts) d=0; this->quad[num_quads].vertex[c].pt[i*3]=this->quad[num_quads].bottom[d*3]; this->quad[num_quads].vertex[c].pt[i*3+1]=this->quad[num_quads].bottom[d*3+1]; this->quad[num_quads].vertex[c].pt[i*3+2]=this->quad[num_quads].bottom[d*3+2];
this->quad[num_quads].vertex[c].pt[11-i*3]=this->quad[num_quads].top[d*3+2]; this->quad[num_quads].vertex[c].pt[11-i*3-1]=this->quad[num_quads].top[d*3+1]; this->quad[num_quads].vertex[c].pt[11-i*3-2]=this->quad[num_quads].top[d*3]; } } this->quad[num_quads].visible=_visible; this->num_quads= this->num_quads+1; }
void Del(int _num) { delete this->quad; this->num_quads=0; this->quad = new QUAD[_num]; } ~LAYER() {} };
Seulement je ne sais pas combien de quad j'ai au depart! Il sont entré au fur et a mesure! Est ce que c'est possible de faire une list chainée du type CList mais sans MFC de mon quad ? Si oui comment? J'ai vu des exemples de list chainée, mais pour une structure ausi complexe ue la mienne je vois pas coment faire!
Merci pour votre aide!
|
|
|
dimanche 12 novembre 2006 à 15:13:29 |
Re : Liste chainée de class dans une class...

laurent1024
|
Utilise les fonction de la stl (librairie standard du c++) avec les deques ou les listes qui utilise les templates. ++
|
|
|
dimanche 12 novembre 2006 à 15:33:49 |
Re : Liste chainée de class dans une class...

jojomillenium
|
Mais comment l utiliser? Je sais que je doit utiliser cette librairie ... mais avec toutes mes imbrication de class, je vois pas comment!
|
|
|
dimanche 12 novembre 2006 à 16:50:07 |
Re : Liste chainée de class dans une class...

cosmobob
|
salut; #include <list> // CLASS D'UN COUCHE class LAYER // Build our LAYER Class { public: int num_quads; bool visible, existe; float hauteur, zstart, h, penetration; char* nom_cif; char* nom_couche; vec4 color; std::list<QUAD*> l_quad; // etc... }
pour ajouter un quad: QUAD* val = new QUAD; l_quad.push_back(val);
@+ 
|
|
|
Cette discussion est classé dans : num, vertex, pts, quad, quads
Répondre à ce message
Sujets en rapport avec ce message
CList et win32 [ par jojomillenium ]
Bonjour, ma question est simple, je defini mes classes telquel: // COORDONNEES class VERTEX // Build our Vertex Class { pub
Probleme avec new() non crée pour certaine valeur... [ par jojomillenium ]
Bonjour,J'ai un probleme qui est apparu de je ne sais ou alors que ca marchais avant une certain modif que je vais expliquer.J'ai des classes:class VE
Convertion d'un double en hexadecimal (IEEE-754) [ par Cphil51 ]
Salutation a tous.Je cherche a convertir un double en notation hexadécimale. J'ai deja essayé pour un float (plus simple car il prend que 32 bits), ce
erreur : associer une image à une Ctrlist [ par jerry72000 ]
Bonjour, j'ai un petit soucis dans mon projet (pour mon bts), en fait je voudrais associer des photos (format jpeg) à une Ctrlistet et les afficher en
bug [ par jmp777 ]
Bonjour à tous,je suis debutant et je doit corriger une erreur,l'application bug sur cette petite partie en m'affichant l'erreur qui est dans ce sprin
scripte d'une requête d'insertion [ par benlac_o ]
Bonjour, j'ecris un script shell, le but c'est d'inserer des valeurs dans une tables, comme vous pouvez le voire dans la requête ci-dessous, je veux i
Champ scalaire [ par sem16 ]
Hello,j'ai un petit probleme avec OpenGL. J'ai un strip qui est constitue de mesh triangulaire (maillage triangulaire) en 2D et j'aimerais associer à
Profondeur de champs [ par Grizou0 ]
Bonjour, je suis novice avec la librairie GL ( Borland C++6).Apparement, les vertex visuel sur l'ecran sont limité entre -45.0 et +45.0 sur l'axe Z en
BESOIN D'AIDE [ par gersen ]
bonjour a vous voila j'ai besoin d'aide j'ai un pt'it probleme avec mon programme mon programme consiste a chercher d'abord un chemins entre 2 station
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|