10 #include "gtest/gtest.h" 19 CheckNodes(std::map<unsigned int, EFANode *> & nodes, std::vector<unsigned int> & gold)
21 std::map<unsigned int, EFANode *>::iterator mit;
22 std::vector<unsigned int> test;
23 for (mit = nodes.begin(); mit != nodes.end(); ++mit)
24 test.push_back(mit->second->id());
26 ASSERT_EQ(test.size(), gold.size());
27 for (
unsigned int i = 0; i < test.size(); i++)
28 EXPECT_EQ(test[i], gold[i]);
32 CheckElements(std::vector<EFAElement *> & elems, std::vector<unsigned int> & gold)
34 std::vector<EFAElement *>::iterator it;
35 std::vector<unsigned int> test;
36 for (it = elems.begin(); it != elems.end(); ++it)
37 test.push_back((*it)->id());
39 ASSERT_EQ(test.size(), gold.size());
40 for (
unsigned int i = 0; i < test.size(); i++)
41 EXPECT_EQ(test[i], gold[i]);
45 CheckElements(std::set<EFAElement *> & elems, std::set<unsigned int> & gold)
47 std::set<EFAElement *>::iterator it;
48 std::set<unsigned int> test;
49 for (it = elems.begin(); it != elems.end(); ++it)
50 test.insert((*it)->id());
52 ASSERT_EQ(test.size(), gold.size());
54 std::set<unsigned int> intersection;
55 set_intersection(test.begin(),
59 std::inserter(intersection, intersection.begin()));
61 ASSERT_EQ(intersection.size(), gold.size());
73 std::vector<std::vector<unsigned int>> quads;
74 std::vector<unsigned int> v1 = {0, 3, 4, 1};
76 std::vector<unsigned int> v2 = {1, 4, 5, 2};
110 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7};
114 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
115 std::vector<unsigned int> tn_gold;
119 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
120 std::vector<unsigned int> en_gold = {0, 1};
125 std::vector<unsigned int> ce_gold = {2, 3, 4};
130 std::vector<unsigned int> pe_gold = {0, 1};
157 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7};
161 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
162 std::vector<unsigned int> tn_gold;
166 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
167 std::vector<unsigned int> en_gold = {0, 1};
172 std::vector<unsigned int> ce_gold;
177 std::vector<unsigned int> pe_gold;
196 std::vector<std::vector<unsigned int>> quads;
197 std::vector<unsigned int> v1 = {0, 3, 4, 1};
199 std::vector<unsigned int> v2 = {1, 4, 5, 2};
201 std::vector<unsigned int> v3 = {4, 3, 6, 5};
243 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
247 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
248 std::vector<unsigned int> tn_gold;
252 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
253 std::vector<unsigned int> en_gold = {0, 1, 2, 3};
258 std::vector<unsigned int> ce_gold = {3, 4, 5, 6, 7, 8};
263 std::vector<unsigned int> pe_gold = {0, 1, 2};
283 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8};
287 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
288 std::vector<unsigned int> tn_gold;
292 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
293 std::vector<unsigned int> en_gold = {0, 1};
298 std::vector<unsigned int> ce_gold = {3, 4, 5};
303 std::vector<unsigned int> pe_gold = {0, 2};
323 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
327 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
328 std::vector<unsigned int> tn_gold;
332 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
333 std::vector<unsigned int> en_gold = {0, 1, 2};
338 std::vector<unsigned int> ce_gold = {6, 7, 8, 9, 10};
343 std::vector<unsigned int> pe_gold = {1, 3, 4, 5};
363 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
367 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
368 std::vector<unsigned int> tn_gold;
372 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
373 std::vector<unsigned int> en_gold = {0, 1, 2, 3};
378 std::vector<unsigned int> ce_gold = {11, 12, 13, 14, 15};
383 std::vector<unsigned int> pe_gold = {6, 8, 9, 10};
395 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
399 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
400 std::vector<unsigned int> tn_gold;
404 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
405 std::vector<unsigned int> en_gold = {0, 1, 2, 3};
410 std::vector<unsigned int> ce_gold;
415 std::vector<unsigned int> pe_gold;
433 std::vector<std::vector<unsigned int>> quads;
434 std::vector<std::vector<unsigned int>> quads2;
435 std::vector<unsigned int> v1 = {0, 3, 4, 1};
437 std::vector<unsigned int> v2 = {1, 4, 5, 2};
439 std::vector<unsigned int> v3 = {4, 3, 6, 7};
441 std::vector<unsigned int> v4 = {5, 4, 7, 8};
442 quads2.push_back(v4);
476 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
480 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
481 std::vector<unsigned int> tn_gold;
485 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
486 std::vector<unsigned int> en_gold = {0, 1, 2, 3};
491 std::vector<unsigned int> ce_gold = {4, 5, 6, 7, 8, 9};
496 std::vector<unsigned int> pe_gold = {1, 2, 3};
505 std::vector<unsigned int> qvec = {0, 1, 2, 3};
510 std::vector<unsigned int> qvec = {1, 4, 5, 2};
515 std::vector<unsigned int> qvec = {4, 6, 7, 5};
520 std::vector<unsigned int> qvec = {6, 8, 9, 7};
525 std::vector<unsigned int> qvec = {3, 2, 10, 11};
530 std::vector<unsigned int> qvec = {2, 5, 12, 10};
535 std::vector<unsigned int> qvec = {5, 7, 13, 12};
540 std::vector<unsigned int> qvec = {7, 9, 14, 13};
545 std::vector<unsigned int> qvec = {11, 10, 15, 16};
550 std::vector<unsigned int> qvec = {10, 12, 17, 15};
555 std::vector<unsigned int> qvec = {12, 13, 18, 17};
560 std::vector<unsigned int> qvec = {13, 14, 19, 18};
565 std::vector<unsigned int> qvec = {16, 15, 20, 21};
570 std::vector<unsigned int> qvec = {15, 17, 22, 20};
575 std::vector<unsigned int> qvec = {17, 18, 23, 22};
580 std::vector<unsigned int> qvec = {18, 19, 24, 23};
601 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
602 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
603 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32};
607 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
608 std::vector<unsigned int> tn_gold;
612 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
613 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4};
618 std::vector<unsigned int> ce_gold = {16, 17, 18, 19, 20, 21, 22, 23, 24};
623 std::vector<unsigned int> pe_gold = {1, 2, 5, 8, 9};
640 std::vector<std::vector<unsigned int>> quads;
641 std::vector<unsigned int> v1 = {0, 4, 5, 1};
643 std::vector<unsigned int> v2 = {1, 5, 6, 2};
645 std::vector<unsigned int> v3 = {2, 6, 7, 3};
647 std::vector<unsigned int> v4 = {4, 8, 9, 5};
649 std::vector<unsigned int> v5 = {5, 9, 10, 6};
651 std::vector<unsigned int> v6 = {6, 10, 11, 7};
689 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
690 10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
694 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
695 std::vector<unsigned int> tn_gold;
699 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
700 std::vector<unsigned int> en_gold = {0, 1, 2, 3};
705 std::vector<unsigned int> ce_gold;
710 std::vector<unsigned int> pe_gold;
727 std::vector<unsigned int> pn_gold2 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
728 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21};
732 std::map<unsigned int, EFANode *> temp_nodes2 = MyMesh.
getTempNodes();
733 std::vector<unsigned int> tn_gold2;
737 std::map<unsigned int, EFANode *> embedded_nodes2 = MyMesh.
getEmbeddedNodes();
738 std::vector<unsigned int> en_gold2 = {0, 1, 2, 3, 4, 5};
743 std::vector<unsigned int> ce_gold2;
748 std::vector<unsigned int> pe_gold2;
764 std::vector<unsigned int> pn_gold3 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
765 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25};
769 std::map<unsigned int, EFANode *> temp_nodes3 = MyMesh.
getTempNodes();
770 std::vector<unsigned int> tn_gold3;
774 std::map<unsigned int, EFANode *> embedded_nodes3 = MyMesh.
getEmbeddedNodes();
775 std::vector<unsigned int> en_gold3 = {0, 1, 2, 3, 4, 5, 6};
780 std::vector<unsigned int> ce_gold3;
785 std::vector<unsigned int> pe_gold3;
820 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
821 10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
825 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
826 std::vector<unsigned int> tn_gold;
830 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
831 std::vector<unsigned int> en_gold = {0, 1, 2, 3};
836 std::vector<unsigned int> ce_gold;
841 std::vector<unsigned int> pe_gold;
858 std::vector<unsigned int> pn_gold2 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
859 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21};
863 std::map<unsigned int, EFANode *> temp_nodes2 = MyMesh.
getTempNodes();
864 std::vector<unsigned int> tn_gold2;
868 std::map<unsigned int, EFANode *> embedded_nodes2 = MyMesh.
getEmbeddedNodes();
869 std::vector<unsigned int> en_gold2 = {0, 1, 2, 3, 4, 5};
874 std::vector<unsigned int> ce_gold2;
879 std::vector<unsigned int> pe_gold2;
895 std::vector<unsigned int> pn_gold3 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
896 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25};
900 std::map<unsigned int, EFANode *> temp_nodes3 = MyMesh.
getTempNodes();
901 std::vector<unsigned int> tn_gold3;
905 std::map<unsigned int, EFANode *> embedded_nodes3 = MyMesh.
getEmbeddedNodes();
906 std::vector<unsigned int> en_gold3 = {0, 1, 2, 3, 4, 5, 6};
911 std::vector<unsigned int> ce_gold3;
916 std::vector<unsigned int> pe_gold3;
953 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
954 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25};
958 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
959 std::vector<unsigned int> tn_gold;
963 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
964 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6};
969 std::vector<unsigned int> ce_gold;
974 std::vector<unsigned int> pe_gold;
982 std::vector<unsigned int> v1 = {0, 1, 4, 3, 9, 10, 13, 12};
985 std::vector<unsigned int> v2 = {1, 2, 5, 4, 10, 11, 14, 13};
988 std::vector<unsigned int> v3 = {3, 4, 7, 6, 12, 13, 16, 15};
991 std::vector<unsigned int> v4 = {4, 5, 8, 7, 13, 14, 17, 16};
994 std::vector<unsigned int> v5 = {9, 10, 13, 12, 18, 19, 22, 21};
997 std::vector<unsigned int> v6 = {10, 11, 14, 13, 19, 20, 23, 22};
1000 std::vector<unsigned int> v7 = {12, 13, 16, 15, 21, 22, 25, 24};
1003 std::vector<unsigned int> v8 = {13, 14, 17, 16, 22, 23, 26, 25};
1037 std::vector<unsigned int> cut_edge_id(2, 0);
1038 std::vector<double> cut_position(2, 0.5);
1070 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1071 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28};
1075 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
1076 std::vector<unsigned int> tn_gold;
1080 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
1081 std::vector<unsigned int> en_gold = {0, 1, 2, 3};
1086 std::vector<unsigned int> ce_gold;
1091 std::vector<unsigned int> pe_gold;
1095 unsigned int cte[] = {10, 11};
1096 std::set<unsigned int> cte_gold;
1097 cte_gold.insert(cte, cte + 2);
1127 std::vector<unsigned int> cut_edge_id(2, 0);
1128 std::vector<double> cut_position(2, 0.5);
1206 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1207 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1208 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37};
1212 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
1213 std::vector<unsigned int> tn_gold;
1217 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
1218 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
1223 std::vector<unsigned int> ce_gold = {8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
1228 std::vector<unsigned int> pe_gold = {0, 1, 3, 4, 5, 7};
1241 std::map<unsigned int, EFANode *> permanent_nodes2 = MyMesh.
getPermanentNodes();
1242 std::vector<unsigned int> pn_gold2 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1243 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1244 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37};
1248 std::map<unsigned int, EFANode *> temp_nodes2 = MyMesh.
getTempNodes();
1249 std::vector<unsigned int> tn_gold2;
1253 std::map<unsigned int, EFANode *> embedded_nodes2 = MyMesh.
getEmbeddedNodes();
1254 std::vector<unsigned int> en_gold2 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
1259 std::vector<unsigned int> ce_gold2;
1264 std::vector<unsigned int> pe_gold2;
1268 unsigned int cte[] = {14, 17};
1269 std::set<unsigned int> cte_gold;
1270 cte_gold.insert(cte, cte + 2);
1302 std::vector<unsigned int> cut_edge_id(2, 0);
1303 std::vector<double> cut_position(2, 0.5);
1329 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1330 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28};
1334 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
1335 std::vector<unsigned int> tn_gold;
1339 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
1340 std::vector<unsigned int> en_gold = {0, 1, 2, 3};
1345 std::vector<unsigned int> ce_gold;
1350 std::vector<unsigned int> pe_gold;
1354 unsigned int cte[] = {10, 11};
1355 std::set<unsigned int> cte_gold;
1356 cte_gold.insert(cte, cte + 2);
1388 std::vector<unsigned int> cut_edge_id(2, 0);
1389 std::vector<double> cut_position(2, 0.5);
1414 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1415 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28};
1419 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
1420 std::vector<unsigned int> tn_gold;
1424 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
1425 std::vector<unsigned int> en_gold = {0, 1, 2, 3};
1430 std::vector<unsigned int> ce_gold;
1435 std::vector<unsigned int> pe_gold;
1439 unsigned int cte[] = {10, 11};
1440 std::set<unsigned int> cte_gold;
1441 cte_gold.insert(cte, cte + 2);
1473 std::vector<unsigned int> cut_edge_id(2, 0);
1474 std::vector<double> cut_position(2, 0.5);
1505 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1506 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28};
1510 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
1511 std::vector<unsigned int> tn_gold;
1515 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
1516 std::vector<unsigned int> en_gold = {0, 1, 2, 3};
1521 std::vector<unsigned int> ce_gold;
1526 std::vector<unsigned int> pe_gold;
1530 unsigned int cte[] = {10, 11};
1531 std::set<unsigned int> cte_gold;
1532 cte_gold.insert(cte, cte + 2);
1564 std::vector<unsigned int> cut_edge_id(2, 0);
1565 std::vector<double> cut_position(2, 0.5);
1604 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1605 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1606 22, 23, 24, 25, 26, 27, 29, 30, 31};
1610 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
1611 std::vector<unsigned int> tn_gold;
1615 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
1616 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5};
1621 std::vector<unsigned int> ce_gold;
1626 std::vector<unsigned int> pe_gold;
1630 unsigned int cte[] = {12, 13, 14};
1631 std::set<unsigned int> cte_gold;
1632 cte_gold.insert(cte, cte + 3);
1664 std::vector<unsigned int> cut_edge_id(2, 0);
1665 std::vector<double> cut_position(2, 0.5);
1714 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1715 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1716 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34};
1720 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
1721 std::vector<unsigned int> tn_gold;
1725 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
1726 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6, 7};
1731 std::vector<unsigned int> ce_gold;
1736 std::vector<unsigned int> pe_gold;
1740 unsigned int cte[] = {14, 15, 16};
1741 std::set<unsigned int> cte_gold;
1742 cte_gold.insert(cte, cte + 3);
1774 std::vector<unsigned int> cut_edge_id(2, 0);
1775 std::vector<double> cut_position(2, 0.5);
1810 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
1811 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1812 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32};
1816 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
1817 std::vector<unsigned int> tn_gold;
1821 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
1822 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5};
1827 std::vector<unsigned int> ce_gold;
1832 std::vector<unsigned int> pe_gold;
1836 unsigned int cte[] = {12, 13};
1837 std::set<unsigned int> cte_gold;
1838 cte_gold.insert(cte, cte + 2);
1870 std::vector<unsigned int> cut_edge_id(2, 0);
1871 std::vector<double> cut_position(2, 0.5);
1911 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1912 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1913 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44};
1917 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
1918 std::vector<unsigned int> tn_gold;
1922 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
1923 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8};
1928 std::vector<unsigned int> ce_gold;
1933 std::vector<unsigned int> pe_gold;
1965 std::vector<unsigned int> cut_edge_id(2, 0);
1966 std::vector<double> cut_position(2, 0.5);
2025 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2026 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2027 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44};
2031 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
2032 std::vector<unsigned int> tn_gold;
2036 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
2037 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8};
2042 std::vector<unsigned int> ce_gold;
2047 std::vector<unsigned int> pe_gold;
2080 std::vector<unsigned int> cut_edge_id(2, 0);
2081 std::vector<double> cut_position(2, 0.5);
2120 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
2121 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2122 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32};
2126 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
2127 std::vector<unsigned int> tn_gold;
2131 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
2132 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5};
2137 std::vector<unsigned int> ce_gold;
2142 std::vector<unsigned int> pe_gold;
2146 unsigned int cte[] = {10, 13};
2147 std::set<unsigned int> cte_gold;
2148 cte_gold.insert(cte, cte + 2);
2180 std::vector<unsigned int> cut_edge_id(2, 0);
2181 std::vector<double> cut_position(2, 0.5);
2220 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2221 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2222 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38};
2226 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
2227 std::vector<unsigned int> tn_gold;
2231 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
2232 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5};
2237 std::vector<unsigned int> ce_gold;
2242 std::vector<unsigned int> pe_gold;
2274 std::vector<unsigned int> cut_edge_id(2, 0);
2275 std::vector<double> cut_position(2, 0.5);
2301 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
2302 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2303 22, 23, 24, 25, 26, 27, 28, 29, 30};
2307 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
2308 std::vector<unsigned int> tn_gold;
2312 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
2313 std::vector<unsigned int> en_gold = {0, 1, 2};
2318 std::vector<unsigned int> ce_gold;
2323 std::vector<unsigned int> pe_gold;
2327 unsigned int cte[] = {10};
2328 std::set<unsigned int> cte_gold;
2329 cte_gold.insert(cte, cte + 1);
2362 std::vector<unsigned int> cut_edge_id(2, 0);
2363 std::vector<double> cut_position(2, 0.5);
2419 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2420 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2421 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41};
2425 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
2426 std::vector<unsigned int> tn_gold;
2430 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
2431 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8};
2436 std::vector<unsigned int> ce_gold;
2441 std::vector<unsigned int> pe_gold;
2445 unsigned int cte[] = {12, 17};
2446 std::set<unsigned int> cte_gold;
2447 cte_gold.insert(cte, cte + 2);
2480 std::vector<unsigned int> cut_edge_id(2, 0);
2481 std::vector<double> cut_position(2, 0.5);
2554 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2555 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2556 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2557 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50};
2561 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
2562 std::vector<unsigned int> tn_gold;
2566 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
2567 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
2572 std::vector<unsigned int> ce_gold;
2577 std::vector<unsigned int> pe_gold;
2609 std::vector<unsigned int> cut_edge_id(2, 0);
2610 std::vector<double> cut_position(2, 0.5);
2636 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2637 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2638 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34};
2642 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
2643 std::vector<unsigned int> tn_gold;
2647 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
2648 std::vector<unsigned int> en_gold = {0, 1, 2};
2653 std::vector<unsigned int> ce_gold;
2658 std::vector<unsigned int> pe_gold;
2690 std::vector<unsigned int> cut_edge_id(2, 0);
2691 std::vector<double> cut_position(2, 0.5);
2732 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
2733 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2734 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32};
2738 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
2739 std::vector<unsigned int> tn_gold;
2743 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
2744 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5};
2749 std::vector<unsigned int> ce_gold;
2754 std::vector<unsigned int> pe_gold;
2786 std::vector<unsigned int> cut_edge_id(2, 0);
2787 std::vector<double> cut_position(2, 0.5);
2843 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2844 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2845 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38};
2849 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
2850 std::vector<unsigned int> tn_gold;
2854 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
2855 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8};
2860 std::vector<unsigned int> ce_gold;
2865 std::vector<unsigned int> pe_gold;
2897 std::vector<unsigned int> cut_edge_id(2, 0);
2898 std::vector<double> cut_position(2, 0.5);
2971 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2972 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2973 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2974 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50};
2978 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
2979 std::vector<unsigned int> tn_gold;
2983 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
2984 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
2989 std::vector<unsigned int> ce_gold;
2994 std::vector<unsigned int> pe_gold;
3026 std::vector<unsigned int> cut_edge_id(2, 0);
3027 std::vector<double> cut_position(2, 0.5);
3089 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3090 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3091 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3092 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46};
3096 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
3097 std::vector<unsigned int> tn_gold;
3101 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
3102 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8};
3107 std::vector<unsigned int> ce_gold;
3112 std::vector<unsigned int> pe_gold;
3144 std::vector<unsigned int> cut_edge_id(2, 0);
3145 std::vector<double> cut_position(2, 0.5);
3199 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3200 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3201 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34};
3205 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
3206 std::vector<unsigned int> tn_gold;
3210 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
3211 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5, 6, 7};
3216 std::vector<unsigned int> ce_gold;
3221 std::vector<unsigned int> pe_gold;
3225 unsigned int cte[] = {14, 15, 16};
3226 std::set<unsigned int> cte_gold;
3227 cte_gold.insert(cte, cte + 3);
3260 std::vector<unsigned int> v1 = {0, 1, 5, 4, 16, 17, 21, 20};
3263 std::vector<unsigned int> v2 = {1, 2, 6, 5, 17, 18, 22, 21};
3266 std::vector<unsigned int> v3 = {2, 3, 7, 6, 18, 19, 23, 22};
3269 std::vector<unsigned int> v4 = {4, 5, 9, 8, 20, 21, 25, 24};
3272 std::vector<unsigned int> v5 = {5, 6, 10, 9, 21, 22, 26, 25};
3275 std::vector<unsigned int> v6 = {6, 7, 11, 10, 22, 23, 27, 26};
3278 std::vector<unsigned int> v7 = {8, 9, 13, 12, 24, 25, 29, 28};
3281 std::vector<unsigned int> v8 = {9, 10, 14, 13, 25, 26, 30, 29};
3284 std::vector<unsigned int> v9 = {10, 11, 15, 14, 26, 27, 31, 30};
3320 std::vector<unsigned int> cut_edge_id(2, 0);
3321 std::vector<double> cut_position(2, 0.5);
3357 std::vector<unsigned int> pn_gold = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3358 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3359 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39};
3363 std::map<unsigned int, EFANode *> temp_nodes = MyMesh.
getTempNodes();
3364 std::vector<unsigned int> tn_gold;
3368 std::map<unsigned int, EFANode *> embedded_nodes = MyMesh.
getEmbeddedNodes();
3369 std::vector<unsigned int> en_gold = {0, 1, 2, 3, 4, 5};
void addElemEdgeIntersection(unsigned int elemid, unsigned int edgeid, double position)
const std::map< unsigned int, EFANode * > & getEmbeddedNodes()
void updateEdgeNeighbors()
void case5Mesh(ElementFragmentAlgorithm &MyMesh)
EFAElement * add3DElement(const std::vector< unsigned int > &quad, unsigned int id)
const std::vector< EFAElement * > & getChildElements()
void CheckNodes(std::map< unsigned int, EFANode *> &nodes, std::vector< unsigned int > &gold)
void CheckElements(std::vector< EFAElement *> &elems, std::vector< unsigned int > &gold)
void case2Mesh(ElementFragmentAlgorithm &MyMesh)
void updateTopology(bool mergeUncutVirtualEdges=true)
const std::vector< EFAElement * > & getParentElements()
unsigned int add2DElements(std::vector< std::vector< unsigned int >> &quads)
void updatePhysicalLinksAndFragments()
void addElemFaceIntersection(unsigned int elemid, unsigned int faceid, const std::vector< unsigned int > &edgeid, const std::vector< double > &position)
void case6Mesh(ElementFragmentAlgorithm &MyMesh)
TEST(ElementFragmentAlgorithm, test1a)
bool addFragEdgeIntersection(unsigned int elemid, unsigned int frag_edge_id, double position)
void case2Intersections(ElementFragmentAlgorithm &MyMesh)
void case7Mesh(ElementFragmentAlgorithm &MyMesh)
EFAElement * add2DElement(const std::vector< unsigned int > &quad, unsigned int id)
const std::map< unsigned int, EFANode * > & getTempNodes()
const std::map< unsigned int, EFANode * > & getPermanentNodes()
void case1Common(ElementFragmentAlgorithm &MyMesh)
const bool debug_print_mesh
const std::set< EFAElement * > & getCrackTipElements()
void initCrackTipTopology()