@@ -31,81 +31,34 @@ def registerObject(
3131
3232 renderWindow = self .getView ("-1" )
3333 renderer = renderWindow .GetRenderers ().GetFirstRenderer ()
34+ resetCamara = True
35+ for registered_actor in renderer .GetActors ():
36+ if registered_actor .visibility == True :
37+ resetCamara = False
3438 renderer .AddActor (data .actor )
35- renderer .ResetCamera ()
36- renderWindow .Render ()
37- self .render ()
39+ if resetCamara :
40+ renderer .ResetCamera ()
3841
3942 def deregisterObject (self , data_id : str ) -> None :
4043 actor = self .get_object (data_id ).actor
4144 renderWindow = self .getView ("-1" )
4245 renderer = renderWindow .GetRenderers ().GetFirstRenderer ()
4346 renderer .RemoveActor (actor )
4447 self .deregister_object (data_id )
45- self .render ()
46-
47- def applyTextures (self , data_id : str , textures : list [dict [str , str ]]) -> None :
48- textures_array : list [vtkTexture ] = []
49- images_reader_array : list [vtkXMLImageDataReader ] = []
50-
51- data = self .get_object (data_id )
52- mapper = data ["mapper" ]
53- actor = data ["actor" ]
54- reader = data ["reader" ]
55-
56- polydata_mapper = mapper .GetPolyDataMapper ()
57- poly_data = reader .GetPolyDataOutput ()
58-
59- for index , value in enumerate (textures ):
60- texture_name = value ["texture_name" ]
61- id_texture = value ["id" ]
62- print (f"{ texture_name = } { id_texture = } " , flush = True )
63-
64- new_texture = vtkTexture ()
65- image_reader = vtkXMLImageDataReader ()
66- texture_path = self .get_data_file_path (data_id , id_texture )
67- image_reader .SetFileName (texture_path )
68-
69- shader_texture_name = f"VTK_TEXTURE_UNIT_{ index } "
70- polydata_mapper .MapDataArrayToMultiTextureAttribute (
71- shader_texture_name ,
72- texture_name ,
73- vtkDataObject .FIELD_ASSOCIATION_POINTS ,
74- )
75-
76- if index == 0 :
77- new_texture .SetBlendingMode (
78- vtkTexture .VTK_TEXTURE_BLENDING_MODE_REPLACE
79- )
80- else :
81- new_texture .SetBlendingMode (vtkTexture .VTK_TEXTURE_BLENDING_MODE_ADD )
82-
83- images_reader_array .append (image_reader )
84- new_texture .SetInputConnection (image_reader .GetOutputPort ())
85-
86- actor .GetProperty ().SetTexture (shader_texture_name , new_texture )
87-
88- textures_array .append (new_texture )
89- images_reader_array .append (image_reader )
90-
91- self .render ()
9248
9349 def SetVisibility (self , data_id : str , visibility : bool ) -> None :
9450 actor = self .get_object (data_id ).actor
9551 actor .SetVisibility (visibility )
96- self .render ()
9752
9853 def SetOpacity (self , data_id : str , opacity : float ) -> None :
9954 actor = self .get_object (data_id ).actor
10055 actor .GetProperty ().SetOpacity (opacity )
101- self .render ()
10256
10357 def SetColor (self , data_id : str , red : int , green : int , blue : int ) -> None :
10458 mapper = self .get_object (data_id ).mapper
10559 mapper .ScalarVisibilityOff ()
10660 actor = self .get_object (data_id ).actor
10761 actor .GetProperty ().SetColor ([red / 255 , green / 255 , blue / 255 ])
108- self .render ()
10962
11063 def SetEdgesVisibility (self , data_id : str , visibility : bool ) -> None :
11164 actor = self .get_object (data_id ).actor
@@ -114,12 +67,10 @@ def SetEdgesVisibility(self, data_id: str, visibility: bool) -> None:
11467 self .SetVisibility (data_id , visibility )
11568 else :
11669 actor .GetProperty ().SetEdgeVisibility (visibility )
117- self .render ()
11870
11971 def SetEdgesWidth (self , data_id : str , width : float ) -> None :
12072 actor = self .get_object (data_id ).actor
12173 actor .GetProperty ().SetEdgeWidth (width )
122- self .render ()
12374
12475 def SetEdgesColor (self , data_id : str , red : int , green : int , blue : int ) -> None :
12576 actor = self .get_object (data_id ).actor
@@ -128,7 +79,6 @@ def SetEdgesColor(self, data_id: str, red: int, green: int, blue: int) -> None:
12879 self .SetColor (data_id , red , green , blue )
12980 else :
13081 actor .GetProperty ().SetEdgeColor ([red / 255 , green / 255 , blue / 255 ])
131- self .render ()
13282
13383 def SetPointsVisibility (self , data_id : str , visibility : bool ) -> None :
13484 actor = self .get_object (data_id ).actor
@@ -137,12 +87,10 @@ def SetPointsVisibility(self, data_id: str, visibility: bool) -> None:
13787 self .SetVisibility (data_id , visibility )
13888 else :
13989 actor .GetProperty ().SetVertexVisibility (visibility )
140- self .render ()
14190
14291 def SetPointsSize (self , data_id : str , size : float ) -> None :
14392 actor = self .get_object (data_id ).actor
14493 actor .GetProperty ().SetPointSize (size )
145- self .render ()
14694
14795 def SetPointsColor (self , data_id : str , red : int , green : int , blue : int ) -> None :
14896 actor = self .get_object (data_id ).actor
@@ -151,23 +99,20 @@ def SetPointsColor(self, data_id: str, red: int, green: int, blue: int) -> None:
15199 self .SetColor (data_id , red , green , blue )
152100 else :
153101 actor .GetProperty ().SetVertexColor ([red / 255 , green / 255 , blue / 255 ])
154- self .render ()
155102
156103 def SetBlocksVisibility (
157104 self , data_id : str , block_ids : list [int ], visibility : bool
158105 ) -> None :
159106 mapper = self .get_object (data_id ).mapper
160107 for block_id in block_ids :
161108 mapper .SetBlockVisibility (block_id , visibility )
162- self .render ()
163109
164110 def SetBlocksColor (
165111 self , data_id : str , block_ids : list [int ], red : int , green : int , blue : int
166112 ) -> None :
167113 mapper = self .get_object (data_id ).mapper
168114 for block_id in block_ids :
169115 mapper .SetBlockColor (block_id , [red / 255 , green / 255 , blue / 255 ])
170- self .render ()
171116
172117 def clearColors (self , data_id : str ) -> None :
173118 db = self .get_object (data_id )
0 commit comments