1+ # Standard library imports
2+
3+
4+ # Third party imports
5+
6+ # Local application imports
7+ from opengeodeweb_viewer .utils_functions import get_schemas_dict , validate_schema
8+ from opengeodeweb_viewer .vtk_protocol import VtkView
9+
10+ schemas_dir = os .path .join (os .path .dirname (__file__ ), "schemas" )
11+ schemas_dict = get_schemas_dict (schemas_dir )
12+
13+
14+ class VtkObjectView (VtkView ):
15+ def __init__ (self ):
16+ super ().__init__ ()
17+
18+ def SetVisibility (self , params ):
19+ validate_schema (params , schemas_dict ["set_visibility" ])
20+ id = params ["id" ]
21+ visibility = bool (params ["visibility" ])
22+ actor = self .get_object (id )["actor" ]
23+ actor .SetVisibility (visibility )
24+ self .render ()
25+
26+ def SetOpacity (self , params ):
27+ print (f"{ params = } " , flush = True )
28+ validate_schema (params , schemas_dict ["set_opacity" ])
29+ id = params ["id" ]
30+ opacity = float (params ["opacity" ])
31+ actor = self .get_object (id )["actor" ]
32+ actor .GetProperty ().SetOpacity (opacity )
33+ self .render ()
34+
35+ def SetColor (self , params ):
36+ validate_schema (params , schemas_dict ["set_color" ])
37+ id = params ["id" ]
38+ color = params ["color" ]
39+ mapper = self .get_object (id )["mapper" ]
40+ mapper .ScalarVisibilityOff ()
41+ actor = self .get_object (id )["actor" ]
42+ actor .GetProperty ().SetColor (color )
43+ self .render ()
44+
45+ def SetEdgeVisibility (self , params ):
46+ print (f"{ params = } " , flush = True )
47+ validate_schema (params , schemas_dict ["set_edge_visibility" ])
48+ id = params ["id" ]
49+ visibility = bool (params ["visibility" ])
50+ actor = self .get_object (id )["actor" ]
51+ actor .GetProperty ().SetEdgeVisibility (visibility )
52+ self .render ()
53+
54+ def SetVertexVisibility (self , params ):
55+ print (f"{ params = } " , flush = True )
56+ validate_schema (params , schemas_dict ["set_vertex_visility" ])
57+ id = params ["id" ]
58+ visibility = bool (params ["visibility" ])
59+ actor = self .get_object (id )["actor" ]
60+ actor .GetProperty ().SetVertexVisibility (visibility )
61+ self .render ()
62+
63+ def SetPointSize (self , params ):
64+ validate_schema (params , schemas_dict ["set_point_size" ])
65+ id = params ["id" ]
66+ size = float (params ["size" ])
67+ actor = self .get_object (id )["actor" ]
68+ actor .GetProperty ().SetPointSize (size )
69+ self .render ()
0 commit comments