1

私はPCLを初めて使用しています。ブランチノードからすべてのインデックスをpcl::octreeに取得したいと思います。 したがって、たとえばルートノードは、すべての単一のインデックスおよび各サブブランチノードに、このブランチノード内のすべてのリーフノードのポイントのインデックスを提供する必要があります。 これを達成する最良の方法は何ですか?PointCloudLibrary(PCL) - Octree - *ブランチノード内のすべてのポイントのインデックスを取得する

私は

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

とただし、インデックスベクトルが空でも

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

ような何かを呼び出すことができるようにpcl::octree::OctreeContainerPointIndicesに設定BranchContainerTのための第三テンプレートパラメータを望んを使用しています。 もちろん、手動ですべてのノードを繰り返し処理して、リーフを取得してインデックスを挿入することはできますが、ここでは何かが不足している可能性があります。

+0

まあ、誰もPCLに慣れていないのですか? – Simon

答えて

0

[OK]を、私が行方不明になったことはpcl::octree::OctreeContainerPointIndicesのみに設定BranchContainerTためのテンプレートパラメータがあなたにコンテナのこの種のインデックスを格納するオプションを提供することです。 ただし、これらのインデックスを追加するには、を手動でにする必要があります。

各ノードのタイプをチェックし、リーフからインデックスを収集してブランチノードに追加するだけであることを考えると、

関連する問題