begin process at 2012 05 28 08:56:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Driver

 > 

CList et win32


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

CList et win32

vendredi 20 octobre 2006 à 14:47:25 | CList et win32

jojomillenium

Bonjour,

ma question est simple,
je defini mes classes telquel:

// COORDONNEES
class VERTEX                            // Build our Vertex Class
{
public:
    float x, y;                            // 3D coordinates x, y
                                        // hauteur
};

// CLASS GROUPANT LES 4 SOMMETS DE LA FACE
class QUAD                                // Build our Quads Structure
{
public:
    VERTEX vertex[4];                    // Array of 4 vertices                           
};                                   

// CLASS D'UN COUCHE
class LAYER                                // Build our LAYER Class
{
public:
    int num_quads;                       
    float hauteur, zstart;
    vec4 color;
    QUAD* quad;
   
    LAYER(float z, float h, float r, float g, float b, float a)
    {
        this->num_quads=0;
        this->zstart = z;
        this->hauteur = h;
        this->quad = new QUAD[50000];
        this->color.set(r, g, b, a);
    }

    void AddValue(float _centrex, float _centrey, float _qwidth, float _qlenght)
    {
        float x1,x2,x3,x4,y1,y2,y3,y4;
        x1 = _centrex - (_qlenght/2);
        y1 = _centrey + (_qwidth/2);
        x2 = _centrex + (_qlenght/2);
        y2 = _centrey + (_qwidth/2);
        x3 = _centrex + (_qlenght/2);
        y3 = _centrey - (_qwidth/2);
        x4 = _centrex - (_qlenght/2);
        y4 = _centrey - (_qwidth/2);

        this->quad[num_quads].vertex[0].x = x1;
        this->quad[num_quads].vertex[0].y = y1;

        this->quad[num_quads].vertex[1].x = x2;
        this->quad[num_quads].vertex[1].y = y2;

        this->quad[num_quads].vertex[2].x = x3;
        this->quad[num_quads].vertex[2].y = y3;
                   
        this->quad[num_quads].vertex[3].x = x4;
        this->quad[num_quads].vertex[3].y = y4;
    }

    ~LAYER()
    {
        delete this->quad;
    }
   
};

Seulement je ne sais pas vraiment combien de QUAD j'aurais au final! j'aimerai donc passer le faire avec une liste
Est ce possible d'utiliser la CList alors que je programme en win32 sans MFC ?
Si oui comment remplacer mon QUAD en CList?
Sinon quelle methode utiliser?

Merci beaucoup pour votre aide!

jojo

samedi 21 octobre 2006 à 18:42:59 | Re : CList et win32

vecchio56

Administrateur CodeS-SourceS
Tu peux utiliser std::list<QUAD>

_____________________________________
Un éditeur de ressources gratuit pour Windows

samedi 21 octobre 2006 à 20:06:39 | Re : CList et win32

jojomillenium

Donc dans mon constructeur je met std::list<QUAD> a la place de this->quad = new QUAD[50000];
et avec les fonctions de list je peux ajouter un element, et lire tous les elements?
Comment je peux lire les elements par exemple?
 Normalement je ferai avec ce qui a actuellement
int x1;
LAYER layer;
x1 = layer.quad[2].vertex[1].x;

et avec la list comment je ferai pour lire la meme valeur?

Merci pour ton aide

jojo

samedi 21 octobre 2006 à 20:21:42 | Re : CList et win32

vecchio56

Administrateur CodeS-SourceS
list comme CList est une liste chainée. L'accès est donc séquentiel (il faut tout parcourir depuis de le début à chaque fois).
Si tu as besoin d'un accès aléatoire (comme pour les tableaux), utilise plutot vector
Tu peux trouver une explication de leur utilisation ici.

_____________________________________
Un éditeur de ressources gratuit pour Windows



Cette discussion est classée dans : num, float, vertex, quad, quads


Répondre à ce message

Sujets en rapport avec ce message

Liste chainée de class dans une class... [ par jojomillenium ] Bonjour,Je fait un programme en API sans MFC,J'ai une class du genre:class VERTEX                            // Build our Vertex Class{public:    GLfl 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 Probleme sur Calcul de mensualite ProgrammeC [ par ratp ] Bonjour à tous,voila j'ai un un probleme, lorsque je lance le fichier .exe windows ferme la fenetre.Je vous remerci de votre aide par avance.ci dessou resoudre une matrice triangulaire superieure [ par alyggattor ] Bonjour à tous,je suis un debutant en C. J'ai voulu travailler sur la resolution d'une matrice d'ordre n directement triangulaire superieure. Cependan valeur maximum des float [ par dacor ] bonjour,comment peut on avoir la valeur maximum possible d'un flaot..?est ce qu'il y'a une fonction du genre getMaxFloat() ....?merci de votre aide a l'aiiiiiiiiiiiiiiide [ par neothman ] bonjour a tous voici trois exercice de base en C++ mais avec lesquels j'ai eu quand meme un peu de dificulté faut le dire :s :s :s si quelqun pourrai 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 Surcharge des opérateurs [ par karamellatti ] salut tout le monde,je sollicite votre aide pour la résolution d'un ptit problem concernant un mini-programme de calcul matriciel..voici  le programme Tableaux a 2 dimensions [ par AsM0DeUz ] 'lut !Je tente de comprendre les tableaux a 2 dimensions en me servant d'un tableau de pointeurs. Seulement lorsque je me documente sur le net, je ten valeur minimum d'un float [ par dacor ] bonjour,comment je fais pour avoir la valeur minimum que peut prendre un float en c++ ?SE : linuxmerci de votre aide


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales