22
33from mesh_model .mesh_struct .mesh import Mesh
44from mesh_model .mesh_struct .mesh_elements import Dart
5- import mesh_model .mesh_analysis as Mesh_analysis
5+ import mesh_model .mesh_analysis .global_mesh_analysis as GMA
6+ import mesh_model .mesh_analysis .trimesh_analysis as TMA
7+ import mesh_model .mesh_analysis .quadmesh_analysis as QMA
68from environment .actions .triangular_actions import split_edge_ids
79from view .mesh_plotter .mesh_plots import plot_mesh
810
@@ -12,7 +14,7 @@ def test_mesh_regular_score(self):
1214 nodes = [[0.0 , 0.0 ], [1.0 , 0.0 ], [0.5 , 1 ], [- 0.5 , 1.0 ], [0.0 , 2.0 ], [- 1.0 ,0.0 ],[- 0.5 ,- 1.0 ],[0.0 ,- 2.0 ], [0.5 ,- 1.0 ]]
1315 faces = [[0 , 1 , 2 ], [0 , 2 , 3 ], [3 , 2 , 4 ], [3 , 5 , 0 ], [0 , 5 , 6 ], [0 , 6 , 8 ], [6 , 7 , 8 ], [0 , 8 , 1 ]]
1416 cmap = Mesh (nodes ,faces )
15- nodes_score , mesh_score , mesh_ideal_score , adjacency = Mesh_analysis .global_score (cmap )
17+ nodes_score , mesh_score , mesh_ideal_score , adjacency = GMA .global_score (cmap )
1618 self .assertEqual ((0 ,0 ), (mesh_score , mesh_ideal_score ) )
1719
1820 def test_mesh_with_irregularities (self ):
@@ -23,14 +25,14 @@ def test_mesh_with_irregularities(self):
2325 [3 , 4 , 5 ], [3 , 5 , 6 ], [3 , 6 , 7 ], [7 , 6 , 8 ], [7 , 8 , 9 ], [7 , 9 , 10 ], [10 , 9 , 11 ], [10 , 11 , 12 ],
2426 [14 , 12 , 13 ], [14 , 13 , 15 ], [1 , 14 , 15 ], [1 , 15 , 16 ], [1 , 16 , 17 ], [1 , 17 , 2 ], [2 , 17 , 18 ], [2 , 18 , 4 ]]
2527 cmap = Mesh (nodes , faces )
26- nodes_score , mesh_score , mesh_ideal_score , adjacency = Mesh_analysis .global_score (cmap )
28+ nodes_score , mesh_score , mesh_ideal_score , adjacency = GMA .global_score (cmap )
2729 self .assertEqual ((6 , - 2 ), (mesh_score ,mesh_ideal_score ) )
2830
2931 def test_mesh_bad_score (self ):
3032 nodes = [[0.0 , 0.0 ], [1.0 , 0.0 ], [1.0 , 1.0 ], [0.0 , 1.0 ], [2.0 , 0.0 ]]
3133 faces = [[0 , 1 , 2 ], [0 , 2 , 3 ], [1 , 4 , 2 ]]
3234 cmap = Mesh (nodes , faces )
33- nodes_score , mesh_score , mesh_ideal_score , adjacency = Mesh_analysis .global_score (cmap )
35+ nodes_score , mesh_score , mesh_ideal_score , adjacency = GMA .global_score (cmap )
3436 self .assertEqual ((3 , 1 ), (mesh_score , mesh_ideal_score ))
3537
3638 def test_split_score (self ):
@@ -39,18 +41,18 @@ def test_split_score(self):
3941 cmap = Mesh (nodes , faces )
4042 split_edge_ids (cmap , 0 , 2 )
4143 split_edge_ids (cmap , 1 , 2 ) # split impossible
42- nodes_score , mesh_score , mesh_ideal_score , adjacency = Mesh_analysis .global_score (cmap )
44+ nodes_score , mesh_score , mesh_ideal_score , adjacency = GMA .global_score (cmap )
4345 self .assertEqual ((3 , 1 ), (mesh_score , mesh_ideal_score ))
4446
4547 def test_find_template_opposite_node_not_found (self ):
4648 nodes = [[0.0 , 0.0 ], [1.0 , 0.0 ], [1.0 , 1.0 ], [0.0 , 1.0 ], [2.0 , 0.0 ]]
4749 faces = [[0 , 1 , 2 ], [0 , 2 , 3 ], [1 , 4 , 2 ]]
4850 cmap = Mesh (nodes , faces )
4951 dart_to_test = Dart (cmap , 0 )
50- node = Mesh_analysis .find_template_opposite_node (dart_to_test )
52+ node = TMA .find_template_opposite_node (dart_to_test )
5153 self .assertEqual (node , None )
5254 dart_to_test = Dart (cmap , 2 )
53- node = Mesh_analysis .find_template_opposite_node (dart_to_test )
55+ node = TMA .find_template_opposite_node (dart_to_test )
5456 self .assertEqual (node , 3 )
5557
5658 def test_is_valid_action (self ):
@@ -64,83 +66,83 @@ def test_is_valid_action(self):
6466 split_edge_ids (cmap , 0 , 1 )
6567
6668 #Boundary dart
67- self .assertEqual (Mesh_analysis .isValidAction (cmap , 25 , 0 ), (False , True ))
69+ self .assertEqual (TMA .isValidAction (cmap , 25 , 0 ), (False , True ))
6870
6971 # Flip test
70- self .assertEqual (Mesh_analysis .isValidAction (cmap , 3 , 0 ), (True , True ))
71- self .assertEqual (Mesh_analysis .isValidAction (cmap , 0 , 0 ), (False , True ))
72+ self .assertEqual (TMA .isValidAction (cmap , 3 , 0 ), (True , True ))
73+ self .assertEqual (TMA .isValidAction (cmap , 0 , 0 ), (False , True ))
7274
7375 #Split test
74- self .assertEqual (Mesh_analysis .isValidAction (cmap , 0 , 1 ), (True , True ))
76+ self .assertEqual (TMA .isValidAction (cmap , 0 , 1 ), (True , True ))
7577 split_edge_ids (cmap , 1 , 19 )
7678 split_edge_ids (cmap , 1 , 20 )
77- self .assertEqual (Mesh_analysis .isValidAction (cmap , 20 , 1 ), (True , False ))
79+ self .assertEqual (TMA .isValidAction (cmap , 20 , 1 ), (True , False ))
7880 split_edge_ids (cmap , 0 , 19 )
7981 split_edge_ids (cmap , 0 , 22 )
8082 split_edge_ids (cmap , 0 , 23 )
81- self .assertEqual (Mesh_analysis .isValidAction (cmap , 20 , 1 ), (False , True ))
83+ self .assertEqual (TMA .isValidAction (cmap , 20 , 1 ), (False , True ))
8284
8385 #Collapse test
84- self .assertEqual (Mesh_analysis .isValidAction (cmap , 20 , 2 ), (True , True ))
86+ self .assertEqual (TMA .isValidAction (cmap , 20 , 2 ), (True , True ))
8587 plot_mesh (cmap )
86- self .assertEqual (Mesh_analysis .isValidAction (cmap , 2 , 2 ), (False , True ))
88+ self .assertEqual (TMA .isValidAction (cmap , 2 , 2 ), (False , True ))
8789
8890 #All action test
89- self .assertEqual (Mesh_analysis .isValidAction (cmap , 2 , 3 ), (False , False ))
90- self .assertEqual (Mesh_analysis .isValidAction (cmap , 26 , 3 ), (False , False ))
91- self .assertEqual (Mesh_analysis .isValidAction (cmap , 9 , 3 ), (True , True ))
91+ self .assertEqual (TMA .isValidAction (cmap , 2 , 3 ), (False , False ))
92+ self .assertEqual (TMA .isValidAction (cmap , 26 , 3 ), (False , False ))
93+ self .assertEqual (TMA .isValidAction (cmap , 9 , 3 ), (True , True ))
9294
9395 #One action test
94- self .assertEqual (Mesh_analysis .isValidAction (cmap , 0 , 4 ), (True , True ))
95- self .assertEqual (Mesh_analysis .isValidAction (cmap , 9 , 4 ), (True , True ))
96- self .assertEqual (Mesh_analysis .isValidAction (cmap , 94 , 4 ), (False , False ))
96+ self .assertEqual (TMA .isValidAction (cmap , 0 , 4 ), (True , True ))
97+ self .assertEqual (TMA .isValidAction (cmap , 9 , 4 ), (True , True ))
98+ self .assertEqual (TMA .isValidAction (cmap , 94 , 4 ), (False , False ))
9799
98100 def test_isFlipOk (self ):
99101 nodes = [[0.0 , 0.0 ], [1.0 , 0.0 ], [1.0 , 1.0 ], [0.0 , 1.0 ], [2.0 , 0.0 ]]
100102 faces = [[0 , 1 , 2 ], [0 , 2 , 3 ], [1 , 4 , 2 ]]
101103 cmap = Mesh (nodes , faces )
102104 plot_mesh (cmap )
103105 dart_to_test = Dart (cmap , 0 )
104- self .assertFalse (Mesh_analysis .isFlipOk (dart_to_test )[0 ])
106+ self .assertFalse (TMA .isFlipOk (dart_to_test )[0 ])
105107 dart_to_test = Dart (cmap , 2 )
106- self .assertTrue (Mesh_analysis .isFlipOk (dart_to_test ))
108+ self .assertTrue (TMA .isFlipOk (dart_to_test ))
107109
108110 def test_isSplitOk (self ):
109111 nodes = [[0.0 , 0.0 ], [1.0 , 0.0 ], [1.0 , 1.0 ], [0.0 , 1.0 ], [2.0 , 0.0 ]]
110112 faces = [[0 , 1 , 2 ], [0 , 2 , 3 ], [1 , 4 , 2 ]]
111113 cmap = Mesh (nodes , faces )
112114 plot_mesh (cmap )
113115 dart_to_test = Dart (cmap , 0 )
114- self .assertEqual (Mesh_analysis .isSplitOk (dart_to_test ), (False , True ))
116+ self .assertEqual (TMA .isSplitOk (dart_to_test ), (False , True ))
115117 dart_to_test = Dart (cmap , 2 )
116- self .assertEqual (Mesh_analysis .isSplitOk (dart_to_test ), (True , True ))
118+ self .assertEqual (TMA .isSplitOk (dart_to_test ), (True , True ))
117119
118120 def test_isCollapseOk (self ):
119121 nodes = [[0.0 , 0.0 ], [1.0 , 0.0 ], [1.0 , 1.0 ], [0.0 , 1.0 ], [2.0 , 0.0 ]]
120122 faces = [[0 , 1 , 2 ], [0 , 2 , 3 ], [1 , 4 , 2 ]]
121123 cmap = Mesh (nodes , faces )
122124 plot_mesh (cmap )
123125 dart_to_test = Dart (cmap , 0 )
124- self .assertFalse (Mesh_analysis .isCollapseOk (dart_to_test )[0 ])
126+ self .assertFalse (TMA .isCollapseOk (dart_to_test )[0 ])
125127 dart_to_test = Dart (cmap , 2 )
126- self .assertFalse (Mesh_analysis .isCollapseOk (dart_to_test )[0 ])
128+ self .assertFalse (TMA .isCollapseOk (dart_to_test )[0 ])
127129
128130 def test_valid_triangle (self ):
129131 # test Lmax invalid
130132 vect_AB = (5.0 , 0.0 )
131133 vect_AC = (2.5 , 5.0 )
132134 vect_BC = (- 2.5 , 5.0 )
133- self .assertFalse (Mesh_analysis .valid_triangle (vect_AB , vect_AC , vect_BC ))
135+ self .assertFalse (TMA .valid_triangle (vect_AB , vect_AC , vect_BC ))
134136 # test invalid angles
135137 vect_AB = (3.0 , 0.0 )
136138 vect_AC = (1.5 , 0.05 )
137139 vect_BC = (- 1.5 , 0.05 )
138- self .assertFalse (Mesh_analysis .valid_triangle (vect_AB , vect_AC , vect_BC ))
140+ self .assertFalse (TMA .valid_triangle (vect_AB , vect_AC , vect_BC ))
139141 # test valid triangle
140142 vect_AB = (3.0 , 0.0 )
141143 vect_AC = (1.5 , 3.0 )
142144 vect_BC = (- 1.5 , 3.0 )
143- self .assertTrue (Mesh_analysis .valid_triangle (vect_AB , vect_AC , vect_BC ))
145+ self .assertTrue (TMA .valid_triangle (vect_AB , vect_AC , vect_BC ))
144146
145147 def test_isTruncated (self ):
146148 nodes = [[0.0 , 0.0 ], [1.0 , 0.0 ], [1.0 , 1.0 ]]
@@ -149,14 +151,14 @@ def test_isTruncated(self):
149151 darts_list = []
150152 for d_info in cmap .active_darts ():
151153 darts_list .append (d_info [0 ])
152- self .assertTrue (Mesh_analysis .isTruncated (cmap , darts_list ))
154+ self .assertTrue (TMA .isTruncated (cmap , darts_list ))
153155 nodes = [[0.0 , 0.0 ], [1.0 , 0.0 ], [1.0 , 1.0 ], [0.0 , 1.0 ], [2.0 , 0.0 ]]
154156 faces = [[0 , 1 , 2 ], [0 , 2 , 3 ], [1 , 4 , 2 ]]
155157 cmap = Mesh (nodes , faces )
156158 darts_list = []
157159 for d_info in cmap .active_darts ():
158160 darts_list .append (d_info [0 ])
159- self .assertFalse (Mesh_analysis .isTruncated (cmap , darts_list ))
161+ self .assertFalse (TMA .isTruncated (cmap , darts_list ))
160162
161163if __name__ == '__main__' :
162164 unittest .main ()
0 commit comments