Historique des modifications - Message

Message #11409

Sujet: Problème de hierarchie et d'identifiants avec getSceneNodeFromId


Type Date Auteur Contenu
Création du message 12-10-2013 07:39:27 Memorial76
Bonjour,
j'ai une scène dans laquelle un EmptySceneNode d'identifiant 0 (zéro) a des SceneNode filles dont les identifiants vont de 0 à n

Lorsque je veux redessiner ces éléments j'appelle cette fonction:


void CDrawTactical::updateHexagone(int nId, bool bVegetation)
{
scene::ISceneNode* pParent = m_pSceneMgr->getSceneNodeFromId(ID3D_CASE_PARENT);
scene::ISceneNode* pNodeHex = m_pSceneMgr->getSceneNodeFromId(nId, pParent);
createHexagone(pParent, nId, bVegetation);
if( bVegetation )
createHexagoneHighVegetation(nId);
pNodeHex->remove();
}


dans l'ordre:
  • >stock le fameux EmptySceneNode d'identifiant 0 dans pParent, stock le SceneNode fille d'identifiant nId dans pNodeHex en commençant la recherche sur les enfants de pParent. (Pour info, les SceneNode sont des CustomSceneNode)
  • >crée un nouveau SceneNode par la fonction createHexagone(...)
  • >supprime l'ancien SceneNode (pNodeHex)


Tout fonctionne très bien SAUF pour le pNodeHex d'identifiant 0 où c'est (à priori pParent qui est supprimé) et non le pNodeHex d'identifiant 0 (avec pour résultat la suppression de tous les SceneNodes sauf 1: le nouveau SceneNode d'identifiant 0)

Je vois deux causes possibles soit un problème de pointeur qui ne pointe plus là où je pense, soit un problème de la fonction getSceneNodeFromId qui inclue dans sa recherche le node "pParent" qui est donc retourné en lieu et place du pNodeHex d'identifiant 0 voulu...

Merci d'avance à ceux qui pourront éclairer mes lanternes.

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
134 invités en ligne
membre en ligne: -
RSS Feed