@@ -37,6 +37,7 @@ def registerObject(
3737 data .mapper .SetResolveCoincidentTopologyLineOffsetParameters (1 , - 0.1 )
3838 data .mapper .SetResolveCoincidentTopologyPolygonOffsetParameters (2 , 0 )
3939 data .mapper .SetResolveCoincidentTopologyPointOffsetParameter (- 2 )
40+ data .scalarBar .SetVisibility (False )
4041
4142 renderWindow = self .getView ("-1" )
4243 renderer = renderWindow .GetRenderers ().GetFirstRenderer ()
@@ -48,6 +49,7 @@ def registerObject(
4849 resetCamara = False
4950 renderer .AddActor (data .actor )
5051 renderer .AddActor (data .highlight .actor )
52+ renderer .AddActor2D (data .scalarBar )
5153 if resetCamara :
5254 renderer .ResetCamera ()
5355
@@ -57,11 +59,22 @@ def deregisterObject(self, data_id: str) -> None:
5759 renderer = renderWindow .GetRenderers ().GetFirstRenderer ()
5860 renderer .RemoveActor (pipeline .actor )
5961 renderer .RemoveActor (pipeline .highlight .actor )
62+ renderer .RemoveActor2D (pipeline .scalarBar )
6063 self .deregister_object (data_id )
64+ self .update_scalar_bars_layout ()
6165
6266 def SetVisibility (self , data_id : str , visibility : bool ) -> None :
63- actor = self .get_vtk_pipeline (data_id ).actor
64- actor .SetVisibility (visibility )
67+ pipeline = self .get_vtk_pipeline (data_id )
68+ pipeline .actor .SetVisibility (visibility )
69+ if not visibility :
70+ pipeline .scalarBar .SetVisibility (False )
71+ else :
72+ if (
73+ pipeline .mapper .GetScalarVisibility ()
74+ and pipeline .mapper .GetLookupTable () is not None
75+ ):
76+ pipeline .scalarBar .SetVisibility (True )
77+ self .update_scalar_bars_layout ()
6578
6679 def SetOpacity (self , data_id : str , opacity : float ) -> None :
6780 actor = self .get_vtk_pipeline (data_id ).actor
@@ -153,14 +166,16 @@ def SetBlocksColor(
153166 attributes .SetBlockOpacity (blocks [block_id ], alpha )
154167
155168 def clearColors (self , data_id : str ) -> None :
156- db = self .get_vtk_pipeline (data_id )
157- mapper = db .mapper
158- reader = db .reader
169+ pipeline = self .get_vtk_pipeline (data_id )
170+ mapper = pipeline .mapper
171+ reader = pipeline .reader
159172 output = reader .GetOutputDataObject (0 )
160173 if isinstance (output , vtkDataSet ):
161174 output .GetPointData ().SetActiveScalars ("" )
162175 output .GetCellData ().SetActiveScalars ("" )
163176 mapper .ScalarVisibilityOff ()
177+ pipeline .scalarBar .SetVisibility (False )
178+ self .update_scalar_bars_layout ()
164179
165180 def _apply_highlight_style (self , actor : vtkActor , mapper : vtkDataSetMapper ) -> None :
166181 mapper .ScalarVisibilityOff ()
0 commit comments