Hi
I have a pointcloud in a vtkPoints. I am trying to create LODs of my pointcloud with vtkHierarchicalBinningFilter and vtkExtractHierarchicalBins but when I rendered different levels or bins I have unexpected result. The result does not correspond to the bounding give by vtkHierarchicalBinningFilter. Here is a part of my code :
vtkNew<vtkPointSet> pointSet;
pointSet->SetPoints(m_points);
pointSet->GetPointData()->SetScalars(m_colors);
vtkNew<vtkExtractHierarchicalBins> extractHierarchy;
vtkNew<vtkHierarchicalBinningFilter> hierarchicalBinningFilter;
hierarchicalBinningFilter->AutomaticOff();
hierarchicalBinningFilter
->SetBounds(-1.878000, 1.802000, -2.041000, 1.917000, -7.485000, 8.652000);
hierarchicalBinningFilter->SetDivisions(2, 2, 2);
hierarchicalBinningFilter->SetNumberOfLevels(3);
hierarchicalBinningFilter->SetInputData(pointSet);
hierarchicalBinningFilter->Update();
extractHierarchy->SetLevel(3);
extractHierarchy->SetBin(-1);
extractHierarchy->SetInputData(pointSet);
extractHierarchy->SetBinningFilter(hierarchicalBinningFilter);
extractHierarchy->Update();
m_glyphFilterp->SetInputConnection(extractHierarchy->GetOutputPort());
m_glyphFilterp->Update();
m_mapperp->SetInputConnection(m_glyphFilterp->GetOutputPort());
m_mapperp->Update();
m_actorp->SetMapper(m_mapperp);
m_actorp->GetProperty()->SetPointSize(2);
m_vtkrenderer->renderer()->AddActor(m_actorp);
Does someone ever tried those classes ? Maybe I am not using correctly the vtkExtractHierarchicalBins class. SetBin() has no effect on the rendering. Nothing works as expected.
Thanks for your help