55import vtk
66
77# Local application imports
8- from opengeodeweb_viewer .utils_functions import get_schemas_dict , validate_schema
98from opengeodeweb_viewer .vtk_protocol import VtkView
109
1110
1211class VtkObjectView (VtkView ):
13- def __init__ (self ):
12+ def __init__ (self ) -> None :
1413 super ().__init__ ()
1514
16- def registerObject (self , id , file_name , reader , filter , mapper ):
15+ def registerObject (
16+ self ,
17+ id : str ,
18+ file_name : str ,
19+ reader : vtk .vtkDataReader ,
20+ filter : vtk .vtkAlgorithm | None ,
21+ mapper : vtk .vtkMapper ,
22+ ) -> None :
1723 actor = vtk .vtkActor ()
1824 self .register_object (id , reader , filter , actor , mapper , {})
1925 reader .SetFileName (os .path .join (self .DATA_FOLDER_PATH , id , file_name ))
@@ -30,19 +36,19 @@ def registerObject(self, id, file_name, reader, filter, mapper):
3036 renderWindow .Render ()
3137 self .render ()
3238
33- def deregisterObject (self , id ) :
34- actor = self .get_object (id )["actor" ]
39+ def deregisterObject (self , data_id : str ) -> None :
40+ actor = self .get_object (data_id )["actor" ]
3541 renderWindow = self .getView ("-1" )
3642 renderer = renderWindow .GetRenderers ().GetFirstRenderer ()
3743 renderer .RemoveActor (actor )
38- self .deregister_object (id )
44+ self .deregister_object (data_id )
3945 self .render ()
4046
41- def applyTextures (self , id , textures ) :
42- textures_array = []
43- images_reader_array = []
47+ def applyTextures (self , data_id : str , textures : list [ dict [ str , str ]]) -> None :
48+ textures_array : list [ vtk . vtkTexture ] = []
49+ images_reader_array : list [ vtk . vtkXMLImageDataReader ] = []
4450
45- data = self .get_object (id )
51+ data = self .get_object (data_id )
4652 mapper = data ["mapper" ]
4753 actor = data ["actor" ]
4854 reader = data ["reader" ]
@@ -52,14 +58,13 @@ def applyTextures(self, id, textures):
5258
5359 for index , value in enumerate (textures ):
5460 texture_name = value ["texture_name" ]
55- texture_file_name = value ["texture_file_name " ]
56- print (f"{ texture_name = } { texture_file_name = } " , flush = True )
61+ id_texture = value ["id " ]
62+ print (f"{ texture_name = } { id_texture = } " , flush = True )
5763
5864 new_texture = vtk .vtkTexture ()
5965 image_reader = vtk .vtkXMLImageDataReader ()
60- image_reader .SetFileName (
61- os .path .join (self .DATA_FOLDER_PATH , id , texture_file_name )
62- )
66+ texture_path = self .get_data_file_path (data_id , id_texture )
67+ image_reader .SetFileName (texture_path )
6368
6469 shader_texture_name = f"VTK_TEXTURE_UNIT_{ index } "
6570 polydata_mapper .MapDataArrayToMultiTextureAttribute (
@@ -87,83 +92,87 @@ def applyTextures(self, id, textures):
8792
8893 self .render ()
8994
90- def SetVisibility (self , id , visibility ) :
91- actor = self .get_object (id )["actor" ]
95+ def SetVisibility (self , data_id : str , visibility : bool ) -> None :
96+ actor = self .get_object (data_id )["actor" ]
9297 actor .SetVisibility (visibility )
9398 self .render ()
9499
95- def SetOpacity (self , id , opacity ) :
96- actor = self .get_object (id )["actor" ]
100+ def SetOpacity (self , data_id : str , opacity : float ) -> None :
101+ actor = self .get_object (data_id )["actor" ]
97102 actor .GetProperty ().SetOpacity (opacity )
98103 self .render ()
99104
100- def SetColor (self , id , red , green , blue ) :
101- mapper = self .get_object (id )["mapper" ]
105+ def SetColor (self , data_id : str , red : int , green : int , blue : int ) -> None :
106+ mapper = self .get_object (data_id )["mapper" ]
102107 mapper .ScalarVisibilityOff ()
103- actor = self .get_object (id )["actor" ]
108+ actor = self .get_object (data_id )["actor" ]
104109 actor .GetProperty ().SetColor ([red / 255 , green / 255 , blue / 255 ])
105110 self .render ()
106111
107- def SetEdgesVisibility (self , id , visibility ) :
108- actor = self .get_object (id )["actor" ]
109- max_dimension = self .get_object (id )["max_dimension" ]
112+ def SetEdgesVisibility (self , data_id : str , visibility : bool ) -> None :
113+ actor = self .get_object (data_id )["actor" ]
114+ max_dimension = self .get_object (data_id )["max_dimension" ]
110115 if max_dimension == "edges" :
111- self .SetVisibility (id , visibility )
116+ self .SetVisibility (data_id , visibility )
112117 else :
113118 actor .GetProperty ().SetEdgeVisibility (visibility )
114119 self .render ()
115120
116- def SetEdgesWidth (self , id , width ) :
117- actor = self .get_object (id )["actor" ]
121+ def SetEdgesWidth (self , data_id : str , width : float ) -> None :
122+ actor = self .get_object (data_id )["actor" ]
118123 actor .GetProperty ().SetEdgeWidth (width )
119124 self .render ()
120125
121- def SetEdgesColor (self , id , red , green , blue ) :
122- actor = self .get_object (id )["actor" ]
123- max_dimension = self .get_object (id )["max_dimension" ]
126+ def SetEdgesColor (self , data_id : str , red : int , green : int , blue : int ) -> None :
127+ actor = self .get_object (data_id )["actor" ]
128+ max_dimension = self .get_object (data_id )["max_dimension" ]
124129 if max_dimension == "edges" :
125- self .SetColor (id , red , green , blue )
130+ self .SetColor (data_id , red , green , blue )
126131 else :
127132 actor .GetProperty ().SetEdgeColor ([red / 255 , green / 255 , blue / 255 ])
128133 self .render ()
129134
130- def SetPointsVisibility (self , id , visibility ) :
131- actor = self .get_object (id )["actor" ]
132- max_dimension = self .get_object (id )["max_dimension" ]
135+ def SetPointsVisibility (self , data_id : str , visibility : bool ) -> None :
136+ actor = self .get_object (data_id )["actor" ]
137+ max_dimension = self .get_object (data_id )["max_dimension" ]
133138 if max_dimension == "points" :
134- self .SetVisibility (id , visibility )
139+ self .SetVisibility (data_id , visibility )
135140 else :
136141 actor .GetProperty ().SetVertexVisibility (visibility )
137142 self .render ()
138143
139- def SetPointsSize (self , id , size ) :
140- actor = self .get_object (id )["actor" ]
144+ def SetPointsSize (self , data_id : str , size : float ) -> None :
145+ actor = self .get_object (data_id )["actor" ]
141146 actor .GetProperty ().SetPointSize (size )
142147 self .render ()
143148
144- def SetPointsColor (self , id , red , green , blue ) :
145- actor = self .get_object (id )["actor" ]
146- max_dimension = self .get_object (id )["max_dimension" ]
149+ def SetPointsColor (self , data_id : str , red : int , green : int , blue : int ) -> None :
150+ actor = self .get_object (data_id )["actor" ]
151+ max_dimension = self .get_object (data_id )["max_dimension" ]
147152 if max_dimension == "points" :
148- self .SetColor (id , red , green , blue )
153+ self .SetColor (data_id , red , green , blue )
149154 else :
150155 actor .GetProperty ().SetVertexColor ([red / 255 , green / 255 , blue / 255 ])
151156 self .render ()
152157
153- def SetBlocksVisibility (self , id , block_ids , visibility ):
154- mapper = self .get_object (id )["mapper" ]
158+ def SetBlocksVisibility (
159+ self , data_id : str , block_ids : list [int ], visibility : bool
160+ ) -> None :
161+ mapper = self .get_object (data_id )["mapper" ]
155162 for block_id in block_ids :
156163 mapper .SetBlockVisibility (block_id , visibility )
157164 self .render ()
158165
159- def SetBlocksColor (self , id , block_ids , red , green , blue ):
160- mapper = self .get_object (id )["mapper" ]
166+ def SetBlocksColor (
167+ self , data_id : str , block_ids : list [int ], red : int , green : int , blue : int
168+ ) -> None :
169+ mapper = self .get_object (data_id )["mapper" ]
161170 for block_id in block_ids :
162171 mapper .SetBlockColor (block_id , [red / 255 , green / 255 , blue / 255 ])
163172 self .render ()
164173
165- def clearColors (self , id ) :
166- db = self .get_object (id )
174+ def clearColors (self , data_id : str ) -> None :
175+ db = self .get_object (data_id )
167176 mapper = db ["mapper" ]
168177 reader = db ["reader" ]
169178 reader .GetOutput ().GetPointData ().SetActiveScalars ("" )
0 commit comments