/* \brief remove dynamic objects from the viewer * */ void clearView() { //remove cubes if any vtkRenderer *renderer = viz.getRenderWindow()->GetRenderers()->GetFirstRenderer(); while (renderer->GetActors()->GetNumberOfItems() > 0) renderer->RemoveActor(renderer->GetActors()->GetLastActor()); //remove point clouds if any viz.removePointCloud("cloud"); }
/* \brief display octree cubes via vtk-functions * */ void showCubes(double voxelSideLen) { //get the renderer of the visualizer object vtkRenderer *renderer = viz.getRenderWindow()->GetRenderers()->GetFirstRenderer(); vtkSmartPointer<vtkAppendPolyData> treeWireframe = vtkSmartPointer<vtkAppendPolyData>::New(); size_t i; double s = voxelSideLen / 2.0; for (i = 0; i < displayCloud->points.size(); i++) { double x = displayCloud->points[i].x; double y = displayCloud->points[i].y; double z = displayCloud->points[i].z; #if VTK_MAJOR_VERSION < 6 treeWireframe->AddInput(GetCuboid(x - s, x + s, y - s, y + s, z - s, z + s)); #else treeWireframe->AddInputData (GetCuboid (x - s, x + s, y - s, y + s, z - s, z + s)); #endif } vtkSmartPointer<vtkActor> treeActor = vtkSmartPointer<vtkActor>::New(); vtkSmartPointer<vtkDataSetMapper> mapper = vtkSmartPointer<vtkDataSetMapper>::New(); #if VTK_MAJOR_VERSION < 6 mapper->SetInput(treeWireframe->GetOutput()); #else mapper->SetInputData (treeWireframe->GetOutput ()); #endif treeActor->SetMapper(mapper); treeActor->GetProperty()->SetColor(1.0, 1.0, 1.0); treeActor->GetProperty()->SetLineWidth(2); if(wireframe) { treeActor->GetProperty()->SetRepresentationToWireframe(); treeActor->GetProperty()->SetOpacity(0.35); } else treeActor->GetProperty()->SetRepresentationToSurface(); renderer->AddActor(treeActor); }