Project

General

Profile

Récupération d'un point du pointcloud

Added by Théveny Frédéric over 10 years ago

Je suis en train de convertir mon plugin et j’ai un soucis avec la portée d’une fonction qui est passée protected depuis la dernière MAJ.
Je cherche a parcourir un ensemble de points selectionnés, voici l’ancien code :

CT_SPCIR selected = actionPick->graphicsView()->getSelectedPoints();
CT_AbstractCloudIndex* indexCloud = selected->abstractCloudIndex();
(...)
size_t size = indexCloud->size();
for (size_t i = 0 ; i < size ; i++)
{
    size_t index = indexCloud->indexAt(i);
    const CT_Point &point = PS_REPOSITORY->globalPointCloud()->constTAt(index);
(...)

l’ennui c’est que globalPointCloud() est maintenant protected, comment adapter mon code ?
Y a t’il un autre moyen pour récupérer les coordonnées du point à partir de son index ?

merci !


Replies (2)

RE: Récupération d'un point du pointcloud - Added by Krebs Michaël over 10 years ago

Bonjour Fred,

oui il y a bien une nouvelle méthode. Je t’invite à lire le wiki Fr_points. Mais je te met le code ci-dessous :

CT_SPCIR selected = actionPick->graphicsView()->getSelectedPoints();

// création de l'itérateur
CT_PointIterator it(selected);

// parcours tant qu'il y a des points
while(it.hasNext()) {

      it.next();

      // récupération du point
      const CT_Point &p = it.currentPoint();

      // on peut si l'on veut récupérer son index dans le nuage global
      size_t globalIndex = it.currentGlobalIndex();

      // traitement
      .......
}

RE: Récupération d'un point du pointcloud - Added by Théveny Frédéric over 10 years ago

super

je vais tester ça de suite.

merci !

    (1-2/2)