2222import os
2323import sys
2424import platform
25+
2526if sys .version_info >= (3 , 8 , 0 ) and platform .system () == "Windows" :
26- for path in [x .strip () for x in os .environ [' PATH' ].split ('' ) if x ]:
27+ for path in [x .strip () for x in os .environ [" PATH" ].split ("" ) if x ]:
2728 os .add_dll_directory (path )
2829
2930import opengeode
3031import opengeode_inspector_py_inspector as inspector
3132
3233
33- def corners_topological_validity ( result , verbose ):
34+ def corners_topological_validity (result , verbose ):
3435 nb_issues = 0
35- for corner_issue in result .corners_not_linked_to_a_unique_vertex .issues_map () :
36+ for corner_issue in result .corners_not_linked_to_a_unique_vertex .issues_map ():
3637 nb_issues += corner_issue [1 ].nb_issues ()
3738 nb_issues += result .corners_not_meshed .nb_issues ()
3839 nb_issues += result .unique_vertices_linked_to_not_boundary_line_corner .nb_issues ()
3940 nb_issues += result .unique_vertices_linked_to_multiple_corners .nb_issues ()
4041 nb_issues += result .unique_vertices_linked_to_multiple_internals_corner .nb_issues ()
41- nb_issues += result .unique_vertices_linked_to_not_internal_nor_boundary_corner .nb_issues ()
42- print ( "Section Corners Topology check: " , nb_issues , " issues." )
43- if verbose :
44- print ( result .string (), "\n " )
42+ nb_issues += (
43+ result .unique_vertices_linked_to_not_internal_nor_boundary_corner .nb_issues ()
44+ )
45+ print ("Section Corners Topology check: " , nb_issues , " issues." )
46+ if verbose :
47+ print (result .string (), "\n " )
4548 return nb_issues
4649
47- def lines_topological_validity ( result , verbose ):
50+
51+ def lines_topological_validity (result , verbose ):
4852 nb_issues = 0
49- for issue in result .lines_not_linked_to_a_unique_vertex .issues_map () :
53+ for issue in result .lines_not_linked_to_a_unique_vertex .issues_map ():
5054 nb_issues += issue [1 ].nb_issues ()
5155 nb_issues += result .lines_not_meshed .nb_issues ()
52- nb_issues += result .unique_vertices_linked_to_a_line_with_invalid_embeddings .nb_issues ()
56+ nb_issues += (
57+ result .unique_vertices_linked_to_a_line_with_invalid_embeddings .nb_issues ()
58+ )
5359 nb_issues += result .unique_vertices_linked_to_a_single_and_invalid_line .nb_issues ()
54- nb_issues += result .unique_vertices_linked_to_not_internal_nor_boundary_line .nb_issues ()
55- nb_issues += result .unique_vertices_linked_to_several_lines_but_not_linked_to_a_corner .nb_issues ()
56- print ( "Section Lines Topology check: " , nb_issues , " issues." )
57- if verbose : print ( result .string (), "\n " )
60+ nb_issues += (
61+ result .unique_vertices_linked_to_line_with_wrong_relationship_to_surface .nb_issues ()
62+ )
63+ nb_issues += (
64+ result .unique_vertices_linked_to_several_lines_but_not_linked_to_a_corner .nb_issues ()
65+ )
66+ print ("Section Lines Topology check: " , nb_issues , " issues." )
67+ if verbose :
68+ print (result .string (), "\n " )
5869 return nb_issues
5970
60- def surfaces_topological_validity ( result , verbose ):
71+
72+ def surfaces_topological_validity (result , verbose ):
6173 nb_issues = 0
62- for issue in result .surfaces_not_linked_to_a_unique_vertex .issues_map () :
74+ for issue in result .surfaces_not_linked_to_a_unique_vertex .issues_map ():
6375 nb_issues += issue [1 ].nb_issues ()
6476 nb_issues += result .surfaces_not_meshed .nb_issues ()
65- nb_issues += result .unique_vertices_linked_to_a_line_but_is_not_on_a_surface_border .nb_issues ()
66- nb_issues += result .unique_vertices_linked_to_a_surface_with_invalid_embbedings .nb_issues ()
67- print ( "Section Surfaces Topology check: " , nb_issues , " issues." )
68- if verbose :
69- print ( result .string (), "\n " )
77+ nb_issues += (
78+ result .unique_vertices_linked_to_a_line_but_is_not_on_a_surface_border .nb_issues ()
79+ )
80+ nb_issues += (
81+ result .unique_vertices_linked_to_a_surface_with_invalid_embbedings .nb_issues ()
82+ )
83+ print ("Section Surfaces Topology check: " , nb_issues , " issues." )
84+ if verbose :
85+ print (result .string (), "\n " )
7086 return nb_issues
7187
72- def launch_topological_validity_checks ( result , verbose ) :
73- nb_issues = corners_topological_validity ( result .corners , verbose )
74- nb_issues += lines_topological_validity ( result .lines , verbose )
75- nb_issues += surfaces_topological_validity ( result .surfaces , verbose )
88+
89+ def launch_topological_validity_checks (result , verbose ):
90+ nb_issues = corners_topological_validity (result .corners , verbose )
91+ nb_issues += lines_topological_validity (result .lines , verbose )
92+ nb_issues += surfaces_topological_validity (result .surfaces , verbose )
7693 return nb_issues
7794
78- def meshes_adjacencies_validity ( result , verbose ):
95+
96+ def meshes_adjacencies_validity (result , verbose ):
7997 nb_issues = 0
80- for issue in result .surfaces_edges_with_wrong_adjacencies .issues_map () :
98+ for issue in result .surfaces_edges_with_wrong_adjacencies .issues_map ():
8199 nb_issues += issue [1 ].nb_issues ()
82- print ( "Section meshes adjacencies check: " , nb_issues , " issues." )
83- if verbose :
84- print ( result .string (), "\n " )
100+ print ("Section meshes adjacencies check: " , nb_issues , " issues." )
101+ if verbose :
102+ print (result .string (), "\n " )
85103 return nb_issues
86104
87- def meshes_degenerations_validity ( result , verbose ):
105+
106+ def meshes_degenerations_validity (result , verbose ):
88107 nb_issues = 0
89- for degenerated_elements in result .degenerated_edges .issues_map () :
108+ for degenerated_elements in result .degenerated_edges .issues_map ():
90109 nb_issues += degenerated_elements [1 ].nb_issues ()
91- for degenerated_elements in result .degenerated_polygons .issues_map () :
110+ for degenerated_elements in result .degenerated_polygons .issues_map ():
92111 nb_issues += degenerated_elements [1 ].nb_issues ()
93- print ("Section meshes degenerated elements check: " , nb_issues , " issues." )
94- if verbose :
95- print ( result .string (), "\n " )
112+ print ("Section meshes degenerated elements check: " , nb_issues , " issues." )
113+ if verbose :
114+ print (result .string (), "\n " )
96115 return nb_issues
97116
98- def meshes_intersections_validity ( result , verbose ) :
117+
118+ def meshes_intersections_validity (result , verbose ):
99119 nb_issues = 0
100120 nb_issues += result .elements_intersections .nb_issues ()
101121
102- print ( "Section meshes element intersections check: " , nb_issues , " issues." )
103- if verbose :
104- print ( result .string (), "\n " )
122+ print ("Section meshes element intersections check: " , nb_issues , " issues." )
123+ if verbose :
124+ print (result .string (), "\n " )
105125 return nb_issues
106126
107- def meshes_manifolds_validity ( result , verbose ):
127+
128+ def meshes_manifolds_validity (result , verbose ):
108129 nb_issues = 0
109- for issue in result .meshes_non_manifold_vertices .issues_map () :
130+ for issue in result .meshes_non_manifold_vertices .issues_map ():
110131 nb_issues += issue [1 ].nb_issues ()
111- for issue in result .meshes_non_manifold_edges .issues_map () :
132+ for issue in result .meshes_non_manifold_edges .issues_map ():
112133 nb_issues += issue [1 ].nb_issues ()
113- print ( "Section meshes non manifolds check: " , nb_issues , " issues." )
114- if verbose :
115- print ( result .string (), "\n " )
134+ print ("Section meshes non manifolds check: " , nb_issues , " issues." )
135+ if verbose :
136+ print (result .string (), "\n " )
116137 return nb_issues
117138
118- def meshes_colocations_validity ( result , verbose ):
139+
140+ def meshes_colocations_validity (result , verbose ):
119141 nb_issues = 0
120- for issue in result .colocated_points_groups .issues_map () :
142+ for issue in result .colocated_points_groups .issues_map ():
121143 nb_issues += issue [1 ].nb_issues ()
122- print ( "Section meshes Colocations check: " , nb_issues , " issues." )
123- if verbose :
124- print ( result .string (), "\n " )
144+ print ("Section meshes Colocations check: " , nb_issues , " issues." )
145+ if verbose :
146+ print (result .string (), "\n " )
125147 return nb_issues
126148
127- def meshes_unique_vertices_validity ( result , verbose ):
149+
150+ def meshes_unique_vertices_validity (result , verbose ):
128151 nb_issues = 0
129- for issue in result .colocated_unique_vertices_groups .issues () :
152+ for issue in result .colocated_unique_vertices_groups .issues ():
130153 nb_issues += len (issue )
131154 nb_issues += result .unique_vertices_linked_to_different_points .nb_issues ()
132- print ("Section unique vertices check: " , nb_issues , " issues." )
133- if verbose :
134- print ( result .string (), "\n " )
155+ print ("Section unique vertices check: " , nb_issues , " issues." )
156+ if verbose :
157+ print (result .string (), "\n " )
135158 return nb_issues
136159
137- def launch_component_meshes_validity_checks (result , verbose ):
138- nb_issues = meshes_adjacencies_validity ( result .meshes_adjacencies , verbose )
139- nb_issues = meshes_degenerations_validity ( result .meshes_degenerations , verbose )
140- nb_issues += meshes_intersections_validity ( result .meshes_intersections , verbose )
141- nb_issues += meshes_manifolds_validity ( result .meshes_non_manifolds , verbose )
142- nb_issues += meshes_colocations_validity ( result .meshes_colocation , verbose )
160+
161+ def launch_component_meshes_validity_checks (result , verbose ):
162+ nb_issues = meshes_adjacencies_validity (result .meshes_adjacencies , verbose )
163+ nb_issues = meshes_degenerations_validity (result .meshes_degenerations , verbose )
164+ nb_issues += meshes_intersections_validity (result .meshes_intersections , verbose )
165+ nb_issues += meshes_manifolds_validity (result .meshes_non_manifolds , verbose )
166+ nb_issues += meshes_colocations_validity (result .meshes_colocation , verbose )
143167 nb_issues += meshes_unique_vertices_validity (
144- result .unique_vertices_colocation , verbose )
168+ result .unique_vertices_colocation , verbose
169+ )
145170 return nb_issues
146171
172+
147173def check_section (verbose ):
148174 test_dir = os .path .dirname (__file__ )
149175 data_dir = os .path .abspath (os .path .join (test_dir , "../../../tests/data" ))
150- model_section = opengeode .load_section (
151- data_dir + "/vertical_lines.og_sctn" )
176+ model_section = opengeode .load_section (data_dir + "/vertical_lines.og_sctn" )
152177 result = inspector .inspect_section (model_section )
153178 section_inspector = inspector .SectionInspector (model_section )
154179 if section_inspector .section_topology_is_valid ():
@@ -158,14 +183,16 @@ def check_section(verbose):
158183 nb_issues = launch_topological_validity_checks (result .topology , verbose )
159184 if nb_issues != 0 :
160185 raise ValueError (
161- "[Test] There should be no topological issues with vertical_lines.og_sctn" )
186+ "[Test] There should be no topological issues with vertical_lines.og_sctn"
187+ )
162188 nb_issues = launch_component_meshes_validity_checks (result .meshes , verbose )
163189 if nb_issues != 0 :
164190 raise ValueError (
165- "[Test] There should be no mesh issues with vertical_lines.og_sctn" )
191+ "[Test] There should be no mesh issues with vertical_lines.og_sctn"
192+ )
166193
167194
168- if __name__ == ' __main__' :
195+ if __name__ == " __main__" :
169196 inspector .InspectorInspectorLibrary .initialize ()
170197 verbose = False
171198 check_section (verbose )
0 commit comments