11# Standard library imports 
22import  math 
33import  os 
4- from  typing  import  Union 
54
65# Third party imports 
76import  vtk 
1211from  wslink  import  register  as  exportRpc 
1312
1413# Local application imports 
15- from  opengeodeweb_viewer .utils_functions  import  get_schemas_dict , validate_schema 
14+ from  opengeodeweb_viewer .utils_functions  import  (
15+     get_schemas_dict ,
16+     validate_schema ,
17+     RpcParams ,
18+     RpcParamsWithColor ,
19+     RpcParamsWithList ,
20+ )
1621from  opengeodeweb_viewer .vtk_protocol  import  VtkView 
1722
1823
@@ -26,9 +31,7 @@ def __init__(self) -> None:
2631        super ().__init__ ()
2732
2833    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["reset_visualization" ]["rpc" ]) 
29-     def  resetVisualization (
30-         self , params : dict [str , Union [str , int , float , bool ]]
31-     ) ->  None :
34+     def  resetVisualization (self , params : RpcParams ) ->  None :
3235        validate_schema (
3336            params , self .viewer_schemas_dict ["reset_visualization" ], self .viewer_prefix 
3437        )
@@ -83,12 +86,7 @@ def resetVisualization(
8386        self .render ()
8487
8588    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["set_background_color" ]["rpc" ]) 
86-     def  setBackgroundColor (
87-         self ,
88-         params : dict [
89-             str , Union [str , int , float , bool , dict [str , Union [str , int , float ]]]
90-         ],
91-     ) ->  None :
89+     def  setBackgroundColor (self , params : RpcParamsWithColor ) ->  None :
9290        validate_schema (
9391            params , self .viewer_schemas_dict ["set_background_color" ], self .viewer_prefix 
9492        )
@@ -106,7 +104,7 @@ def setBackgroundColor(
106104        self .render ()
107105
108106    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["reset_camera" ]["rpc" ]) 
109-     def  resetCamera (self , params : dict [ str ,  Union [ str ,  int ,  float ,  bool ]] ) ->  None :
107+     def  resetCamera (self , params : RpcParams ) ->  None :
110108        validate_schema (
111109            params , self .viewer_schemas_dict ["reset_camera" ], self .viewer_prefix 
112110        )
@@ -116,9 +114,7 @@ def resetCamera(self, params: dict[str, Union[str, int, float, bool]]) -> None:
116114        self .render ()
117115
118116    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["take_screenshot" ]["rpc" ]) 
119-     def  takeScreenshot (
120-         self , params : dict [str , Union [str , int , float , bool ]]
121-     ) ->  dict [str , Union [str , bytes ]]:
117+     def  takeScreenshot (self , params : RpcParams ) ->  dict [str , str  |  bytes ]:
122118        validate_schema (
123119            params , self .viewer_schemas_dict ["take_screenshot" ], self .viewer_prefix 
124120        )
@@ -167,7 +163,7 @@ def takeScreenshot(
167163        return  {"blob" : self .addAttachment (file_content )}
168164
169165    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["update_data" ]["rpc" ]) 
170-     def  updateData (self , params : dict [ str ,  Union [ str ,  int ,  float ,  bool ]] ) ->  None :
166+     def  updateData (self , params : RpcParams ) ->  None :
171167        validate_schema (
172168            params , self .viewer_schemas_dict ["update_data" ], self .viewer_prefix 
173169        )
@@ -190,9 +186,7 @@ def updateData(self, params: dict[str, Union[str, int, float, bool]]) -> None:
190186        self .render ()
191187
192188    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["get_point_position" ]["rpc" ]) 
193-     def  getPointPosition (
194-         self , params : dict [str , Union [str , int , float , bool ]]
195-     ) ->  dict [str , float ]:
189+     def  getPointPosition (self , params : RpcParams ) ->  dict [str , float ]:
196190        validate_schema (
197191            params , self .viewer_schemas_dict ["get_point_position" ], self .viewer_prefix 
198192        )
@@ -220,9 +214,7 @@ def computeEpsilon(self, renderer: vtk.vtkRenderer, z: float) -> float:
220214        return  math .sqrt (epsilon ) *  0.0125 
221215
222216    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["picked_ids" ]["rpc" ]) 
223-     def  pickedIds (
224-         self , params : dict [str , Union [str , int , float , bool , list [str ]]]
225-     ) ->  dict [str , list [str ]]:
217+     def  pickedIds (self , params : RpcParamsWithList ) ->  dict [str , list [str ]]:
226218        validate_schema (
227219            params , self .viewer_schemas_dict ["picked_ids" ], self .viewer_prefix 
228220        )
@@ -247,7 +239,7 @@ def pickedIds(
247239        return  {"array_ids" : array_ids }
248240
249241    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["grid_scale" ]["rpc" ]) 
250-     def  toggleGridScale (self , params : dict [ str ,  Union [ str ,  int ,  float ,  bool ]] ) ->  None :
242+     def  toggleGridScale (self , params : RpcParams ) ->  None :
251243        validate_schema (
252244            params , self .viewer_schemas_dict ["grid_scale" ], self .viewer_prefix 
253245        )
@@ -258,28 +250,15 @@ def toggleGridScale(self, params: dict[str, Union[str, int, float, bool]]) -> No
258250        self .render ()
259251
260252    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["axes" ]["rpc" ]) 
261-     def  toggleAxes (self , params : dict [ str ,  Union [ str ,  int ,  float ,  bool ]] ) ->  None :
253+     def  toggleAxes (self , params : RpcParams ) ->  None :
262254        validate_schema (params , self .viewer_schemas_dict ["axes" ], self .viewer_prefix )
263255        id , visibility  =  "axes" , params ["visibility" ]
264256        actor  =  self .get_object (id )["actor" ]
265257        actor .SetVisibility (visibility )
266258        self .render ()
267259
268260    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["update_camera" ]["rpc" ]) 
269-     def  updateCamera (
270-         self ,
271-         params : dict [
272-             str ,
273-             Union [
274-                 str ,
275-                 int ,
276-                 float ,
277-                 bool ,
278-                 dict [str , Union [str , int , float , list [float ]]],
279-                 list [float ],
280-             ],
281-         ],
282-     ) ->  None :
261+     def  updateCamera (self , params : RpcParams ) ->  None :
283262        validate_schema (
284263            params , self .viewer_schemas_dict ["update_camera" ], self .viewer_prefix 
285264        )
@@ -301,14 +280,14 @@ def updateCamera(
301280        self .render ()
302281
303282    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["render_now" ]["rpc" ]) 
304-     def  renderNow (self , params : dict [ str ,  Union [ str ,  int ,  float ,  bool ]] ) ->  None :
283+     def  renderNow (self , params : RpcParams ) ->  None :
305284        validate_schema (
306285            params , self .viewer_schemas_dict ["render_now" ], self .viewer_prefix 
307286        )
308287        self .render ()
309288
310289    @exportRpc (viewer_prefix  +  viewer_schemas_dict ["set_z_scaling" ]["rpc" ]) 
311-     def  setZScaling (self , params : dict [ str ,  Union [ str ,  int ,  float ,  bool ]] ) ->  None :
290+     def  setZScaling (self , params : RpcParams ) ->  None :
312291        validate_schema (
313292            params , self .viewer_schemas_dict ["set_z_scaling" ], self .viewer_prefix 
314293        )
0 commit comments