1

저는 PCL을 처음 사용하고 지점 노드의 모든 색인을 pcl::octree에 가져오고 싶습니다. 예를 들어 루트 노드는 모든 단일 인덱스와 각 하위 분기 노드에이 분기 노드 내의 모든 리프 노드 지점의 인덱스를 제공해야합니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?PointCloudLibrary (PCL) - Octree - * 분기 * 노드 내의 모든 점의 색인을 얻습니다.

내가 그러나

std::vector<int> indices; 
auto it = m_octree->breadth_begin(); 
it.getBranchContainer().getPointIndices(indices) 

같은 것을 호출 할 수도 pcl::octree::OctreeContainerPointIndices로 설정 BranchContainerT을위한 3 번째 템플릿 매개 변수와 함께

pcl::octree::OctreePointCloudSearch<pcl::PointXYZ, pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerPointIndices> 

을 사용하고 기대하고, 인덱스 벡터가 비어 있습니다 . 물론 수동으로 모든 노드를 반복하고 리프를 얻은 다음 인덱스를 삽입 할 수는 있지만 여기에 뭔가 빠졌을 수도 있습니다.

+0

흠, 아무도 PCL에 익숙하지 않은가요? – Simon

답변

0

좋아, 내가 없어진 것은 pcl::octree::OctreeContainerPointIndices로 설정 BranchContainerT의 템플릿 매개 변수 당신에게 용기의 종류에 인덱스를 저장하는 옵션을 제공한다는 것입니다. 그러나이 색인을 추가하는 것은 을 수동으로 수행해야합니다..

각 노드의 유형을 확인하고 리프에서 색인을 수집하여 분기 노드에 추가하는 것입니다.