Skip to content

Commit 4448e62

Browse files
authored
Merge pull request #5549 from mvieth/visualization_dynamic_casts
Fix bad dynamic_casts in visualization
2 parents 58f9cfb + 4ee1607 commit 4448e62

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

visualization/include/pcl/visualization/impl/pcl_visualizer.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1787,7 +1787,7 @@ pcl::visualization::PCLVisualizer::updatePolygonMesh (
17871787
return (false);
17881788

17891789
// Get the current poly data
1790-
vtkSmartPointer<vtkPolyData> polydata = dynamic_cast<vtkPolyDataMapper*>(am_it->second.actor->GetMapper ())->GetInput ();
1790+
vtkSmartPointer<vtkPolyData> polydata = dynamic_cast<vtkPolyData*>(am_it->second.actor->GetMapper ()->GetInput ());
17911791
if (!polydata)
17921792
return (false);
17931793
vtkSmartPointer<vtkCellArray> cells = polydata->GetPolys ();

visualization/src/interactor_style.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
#include <vtkLODActor.h>
4646
#include <vtkPolyData.h>
4747
#include <vtkPolyDataMapper.h>
48+
#include <vtkDataSetMapper.h>
4849
#include <vtkCellArray.h>
4950
#include <vtkTextProperty.h>
5051
#include <vtkAbstractPropPicker.h>
@@ -666,7 +667,7 @@ pcl::visualization::PCLVisualizerInteractorStyle::OnKeyDown ()
666667
data->SetPoints (points);
667668
data->SetVerts (vertices);
668669
// Modify the mapper
669-
auto* mapper = dynamic_cast<vtkPolyDataMapper*>(act.actor->GetMapper ());
670+
auto* mapper = dynamic_cast<vtkDataSetMapper*>(act.actor->GetMapper ());
670671
mapper->SetInputData (data);
671672
// Modify the actor
672673
act.actor->SetMapper (mapper);
@@ -696,7 +697,7 @@ pcl::visualization::PCLVisualizerInteractorStyle::OnKeyDown ()
696697
auto *data = dynamic_cast<vtkPolyData*>(act.actor->GetMapper ()->GetInput ());
697698
data->GetPointData ()->SetScalars (scalars);
698699
// Modify the mapper
699-
auto* mapper = dynamic_cast<vtkPolyDataMapper*>(act.actor->GetMapper ());
700+
auto* mapper = dynamic_cast<vtkDataSetMapper*>(act.actor->GetMapper ());
700701
mapper->SetScalarRange (minmax);
701702
mapper->SetScalarModeToUsePointData ();
702703
mapper->SetInputData (data);

visualization/src/pcl_visualizer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2963,7 +2963,7 @@ pcl::visualization::PCLVisualizer::updateColorHandlerIndex (const std::string &i
29632963
auto *data = dynamic_cast<vtkPolyData*>(am_it->second.actor->GetMapper ()->GetInput ());
29642964
data->GetPointData ()->SetScalars (scalars);
29652965
// Modify the mapper
2966-
auto* mapper = dynamic_cast<vtkPolyDataMapper*>(am_it->second.actor->GetMapper ());
2966+
auto* mapper = dynamic_cast<vtkDataSetMapper*>(am_it->second.actor->GetMapper ());
29672967
mapper->SetScalarRange (minmax);
29682968
mapper->SetScalarModeToUsePointData ();
29692969
mapper->SetInputData (data);
@@ -3120,7 +3120,7 @@ pcl::visualization::PCLVisualizer::updatePolygonMesh (
31203120
std::vector<pcl::Vertices> verts (poly_mesh.polygons); // copy vector
31213121

31223122
// Get the current poly data
3123-
vtkSmartPointer<vtkPolyData> polydata = dynamic_cast<vtkPolyDataMapper*>(am_it->second.actor->GetMapper ())->GetInput ();
3123+
vtkSmartPointer<vtkPolyData> polydata = dynamic_cast<vtkPolyData*>(am_it->second.actor->GetMapper ()->GetInput ());
31243124
if (!polydata)
31253125
return (false);
31263126
vtkSmartPointer<vtkCellArray> cells = polydata->GetStrips ();

0 commit comments

Comments
 (0)