diff --git a/doc/changelog.d/209.fixed.md b/doc/changelog.d/209.fixed.md new file mode 100644 index 00000000..82ec3ad5 --- /dev/null +++ b/doc/changelog.d/209.fixed.md @@ -0,0 +1 @@ +fix: not checking if actors have datasets. \ No newline at end of file diff --git a/src/ansys/tools/visualization_interface/backends/pyvista/widgets/mesh_slider.py b/src/ansys/tools/visualization_interface/backends/pyvista/widgets/mesh_slider.py index ff260fc8..c28c0686 100644 --- a/src/ansys/tools/visualization_interface/backends/pyvista/widgets/mesh_slider.py +++ b/src/ansys/tools/visualization_interface/backends/pyvista/widgets/mesh_slider.py @@ -52,10 +52,21 @@ def __init__(self, plotter_helper: "Plotter") -> None: self._button: vtkButtonWidget = self.plotter_helper._pl.scene.add_checkbox_button_widget( self.callback, position=(45, 60), size=30, border_size=3 ) - self._meshes = self.plotter_helper._pl.scene.meshes self._mb = None self._mesh_actor_list = [] + @property + def _meshes(self): + """Return all the meshes which have dataset from the underlying plotter.""" + # This method is patching #208 + # until pyvista fix this upstream. + actors = self.plotter_helper._pl.scene.actors.values() + meshes = [] + for actor in actors: + if hasattr(actor, 'mapper') and hasattr(actor.mapper, "dataset"): + meshes.append(actor.mapper.dataset) + return meshes + def callback(self, state: bool) -> None: """Remove or add the mesh slider widget actor upon click.