Message #6542
Sujet: Comment sélectionner un objet dans un objet ?
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Dernière modification | 20-09-2009 07:19:28 | Gehogor |
Bon, comme promis, je vais faire un petit bilan sur l'intitulé de cette discussion, à savoir, comment sélectionner un objet dans un objet.
Tout d'abord pour faire simple, j'ai déclaré dans mon .h un tableau de ITriangleSelector: Pour des raisons particulières, j'ai créé un tableau statique, il est clair qu'il est préférable de faire une liste dynamique moins gourmande en mémoire. Ensuite, j'ai créé une fonction qui scanne une grande fourchette d'ID pour récupérer tous les nodes présents dans la scène dont l'ID est différent de-1: Il faut appeller cette méthode après le chargement d'une scène irrEdit par exemple ou dès l'ajout d'un nouvel élément pour qu'il soit pris en compte. Maintenant, la dernière fonction, celle qui retourne une liste de "ISceneNode*" en fonction de la position de la caméra (ici "m_Camera_FPS", variable membre qui est ma caméra) et celle de la souris également (ici le paramètre "pos"). Ma liste est en fait une QList car j'utilise Qt pour ce projet. Petite note: On pourrait très clairement passé le paramètre de la caméra également pour rendre plus portable cette petite méthode. Et voilà, après on peut appeler cette méthode dans le gestionnaire des évènements d'Irrlicht par exemple et afficher une boundingbox autour des nodes trouvés.... Je sais que c'est très simple, mais ça peut toujours aider. Bonne soirée à vous. |
| Création du message | 19-06-2009 20:14:45 | Gehogor |
Bon, comme promis, je vais faire un petit bilan sur l'intitulé de cette discussion, à savoir, comment sélectionner un objet dans un objet.
Tout d'abord pour faire simple, j'ai déclaré dans mon .h un tableau de ITriangleSelector: Pour des raisons particulières, j'ai créé un tableau statique, il est clair qu'il est préférable de faire une liste dynamique moins gourmande en mémoire. Ensuite, j'ai créé une fonction qui scanne une grande fourchette d'ID pour récupérer tous les nodes présents dans la scène dont l'ID est différent de-1: Il faut appeller cette méthode après le chargement d'une scène irrEdit par exemple ou dès l'ajout d'un nouvel élément pour qu'il soit pris en compte. Maintenant, la dernière fonction, celle qui retourne une liste de "ISceneNode*" en fonction de la position de la caméra (ici "m_Camera_FPS", variable membre qui est ma caméra) et celle de la souris également (ici le paramètre "pos"). Ma liste est en fait une QList car j'utilise Qt pour ce projet. Petite note: On pourrait très clairement passé le paramètre de la caméra également pour rendre plus portable cette petite méthode. Et voilà, après on peut appeler cette méthode dans le gestionnaire des évènements d'Irrlicht par exemple et afficher une boundingbox autour des nodes trouvés.... Je sais que c'est très simple, mais ça peut toujours aider. Bonne soirée à vous. |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 113 invités en ligne membre en ligne: - RSS Feed |