Forums » Forum général »
Gestion des nuages de normales
Added by Ravaglia Joris over 10 years ago
Bonjour à tous,
je vais passer mon code d’estimation de DHP/défilement en v3 sous peu.
J’en profite pour poser une question que j’ai contourné jusqu’ici.
Je travaille avec des nuages de normales (je manipule donc des CT_PointsAttributesNormal et des CT_AbstractNormalCloud).
A un moment de mon traitement je ne souhaite m’occuper que d’une partie des normales de mon nuage.
J’aurais voulu savoir si il existait un moyen pour récupérer les normales à partir des indices des points ?
i.e. Est ce que les nuages de normales sont synchronisés avec les nuages de points d’une quelconque manière ?
Ou encore est ce qu’il est possible de récupérerun sous nuage de normales par indice comme on peut le faire avec des CT_Scenes ?
Je ne sais pas si ma question est bien posée mais jusqu’ici en tout cas je crée un nouveau CT_AbstractNormalCloud que je remplit avec des nouvelles normales (nouveaux objets qui sont des copies des normales qui m’intéressent). Ce n’est pas gênant mais quelque part il y a une grosse redondance d’information qui est créée, et donc utilisation “abusive” de la mémoire.
Bref je voulais savoir si ma méthode est correcte ou si il existe un moyen plus intéressant d’arriver à mes fins.
Joris
Replies (1)
RE: Gestion des nuages de normales - Added by Krebs Michaël over 10 years ago
Bonjour Joris,
Je travaille avec des nuages de normales (je manipule donc des CT_PointsAttributesNormal et des CT_AbstractNormalCloud).
- La classe CT_PointsAttributesNormal contient un vecteur d’index des points (CT_AbstractCloudIndex) ainsi qu’un vecteur de normal (CT_AbstractNormalCloud). L’indice du point à la première position du CT_AbstractCloudIndex correspond à la normal du premier point (etc...), ça tu la compris je pense.
i.e. Est ce que les nuages de normales sont synchronisés avec les nuages de points d’une quelconque manière ?
- Non les vecteurs de normales ne sont pas synchro avec les nuages de points car on veut pouvoir avoir plusieurs normales pour un même point en fonction de l’étape.
J’aurais voulu savoir si il existait un moyen pour récupérer les normales à partir des indices des points ?
- Pour récupérer une normal à partir de l’indice du point il faut appeler la méthode “indexOf” du nuage d’index (CT_AbstractCloudIndex) en passant l’indice global du point recherché et tu récupérera l’indice de la normal dans ton vecteur de normal.
Je ne sais pas si ma question est bien posée mais jusqu’ici en tout cas je crée un nouveau CT_AbstractNormalCloud que je remplit avec des nouvelles normales (nouveaux objets qui sont des copies des normales qui m’intéressent)
- Oui tu n’a pas le choix il faut recopier les normales dans un nouveau nuage ! Dans une prochaine version ce ne sera plus le cas, les normales auront un nuage global et on pourra créer des normales comme on le fait avec les points. On pourra ainsi ne stocker que l’indice de la normale. Par contre l’accès d’une normal à partir de l’indice du point se fera toujours de la même façon.