Changeset 1338 for applications/robust/robustlib.h
- Timestamp:
- 04/27/11 19:00:36 (13 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
applications/robust/robustlib.h
r1337 r1338 883 883 { 884 884 current_parent->totallyneutralgrandchildren.insert(sender->totallyneutralchildren.begin(),sender->totallyneutralchildren.end()); 885 885 886 886 for(set<polyhedron*>::iterator tot_child_ref = sender->totallyneutralchildren.begin();tot_child_ref!=sender->totallyneutralchildren.end();tot_child_ref++) 887 887 { 888 888 (*tot_child_ref)->grandparents.insert(current_parent); 889 } 890 891 if(current_parent->totally_neutral == NULL) 892 { 893 current_parent->totally_neutral = sender->totally_neutral; 894 } 895 else 896 { 897 current_parent->totally_neutral = current_parent->totally_neutral && sender->totally_neutral; 889 898 } 890 899 … … 898 907 current_parent->neutralchildren.push_back(sender); 899 908 current_parent->positiveneutralvertices.insert(sender->positiveneutralvertices.begin(),sender->positiveneutralvertices.end()); 900 current_parent->negativeneutralvertices.insert(sender->negativeneutralvertices.begin(),sender->negativeneutralvertices.end()); 901 902 if(current_parent->totally_neutral == NULL) 903 { 904 current_parent->totally_neutral = sender->totally_neutral; 905 } 906 else 907 { 908 current_parent->totally_neutral = current_parent->totally_neutral && sender->totally_neutral; 909 } 909 current_parent->negativeneutralvertices.insert(sender->negativeneutralvertices.begin(),sender->negativeneutralvertices.end()); 910 910 911 911 if(sender->totally_neutral) … … 922 922 923 923 if(is_last) 924 { 924 { 925 925 926 /// \TODO Nechapu druhou podminku, zda se mi ze je to spatne.. Nemela by byt jen prvni? Nebo se jedna o nastaveni totalni neutrality? 927 if((current_parent->negativechildren.size()>0&¤t_parent->positivechildren.size()>0)|| 928 (current_parent->neutralchildren.size()>0&¤t_parent->totally_neutral==false)) 926 if((current_parent->negativechildren.size()>0&¤t_parent->positivechildren.size()>0) 927 ||(current_parent->neutralchildren.size()>0&¤t_parent->totallyneutralchildren.empty())) 929 928 { 930 929 for_splitting[level+1].push_back(current_parent); … … 981 980 current_parent->negativechildren.clear(); 982 981 current_parent->neutralchildren.clear(); 983 current_parent->totallyneutralchildren.clear();982 //current_parent->totallyneutralchildren.clear(); 984 983 current_parent->totallyneutralgrandchildren.clear(); 985 984 // current_parent->grandparents.clear(); … … 1002 1001 1003 1002 } 1004 1003 1004 sender->totallyneutralchildren.clear(); 1005 1005 } 1006 1006 } … … 1049 1049 { 1050 1050 1051 1051 /* 1052 1052 if(i==statistic.size()-1) 1053 1053 { … … 1055 1055 cout << "Order:" << ((toprow*)horiz_ref)->condition_order << endl; 1056 1056 } 1057 */ 1058 1059 cout << "Stepped." << endl; 1057 1060 1058 1061 /* … … 1259 1262 current_vertex->negativeneutralvertices.insert(current_vertex); 1260 1263 current_vertex->positiveneutralvertices.insert(current_vertex); 1261 } 1264 } 1265 else 1266 { 1267 current_vertex->totally_neutral = false; 1268 } 1262 1269 } 1263 1270 … … 1296 1303 if(should_remove) 1297 1304 { 1305 /* 1298 1306 for(int i = 0;i<for_merging.size();i++) 1299 1307 { … … 1305 1313 cout << endl; 1306 1314 } 1315 */ 1316 1317 cout << "Merging." << endl; 1307 1318 1308 1319 set<vertex*> vertices_to_be_reduced; … … 1407 1418 } 1408 1419 1420 /* 1409 1421 current_positive->totallyneutralchildren.insert(current_negative->totallyneutralchildren.begin(),current_negative->totallyneutralchildren.end()); 1410 1422 1411 1423 current_positive->totallyneutralchildren.erase(*merge_ref); 1424 */ 1412 1425 1413 1426 current_positive->totallyneutralgrandchildren.insert(current_negative->totallyneutralgrandchildren.begin(),current_negative->totallyneutralgrandchildren.end()); … … 1423 1436 current_positive->negativechildren.clear(); 1424 1437 current_positive->neutralchildren.clear(); 1425 current_positive->totallyneutralchildren.clear();1438 // current_positive->totallyneutralchildren.clear(); 1426 1439 current_positive->totallyneutralgrandchildren.clear(); 1427 1440 current_positive->positiveneutralvertices.clear(); … … 1558 1571 } 1559 1572 1573 /* 1560 1574 vector<int> sizevector; 1561 1575 for(int s = 0;s<statistic.size();s++) … … 1564 1578 cout << statistic.row_size(s) << ", "; 1565 1579 } 1566 1567 cout << endl; 1580 */ 1581 1582 //cout << endl; 1583 1584 // this->step_me(2); 1568 1585 1569 1586 if(should_add) … … 1722 1739 } 1723 1740 1724 1741 /* 1725 1742 sizevector.clear(); 1726 1743 for(int s = 0;s<statistic.size();s++) … … 1731 1748 1732 1749 cout << endl; 1750 */ 1733 1751 1734 1752 /* … … 1943 1961 1944 1962 //// cout << "Sigma: " << sigma << endl; 1945 //// cout << "Nr. of runs: " << number_of_runs << endl;1963 //// cout << "Nr. of sigma runs: " << number_of_runs << endl; 1946 1964 1947 1965 int dimension = (*s_ref)->vertices.size()-1; … … 2087 2105 sample_mat.ins_col(0,sample_coordinates); 2088 2106 2089 cout << sample_mat.cols() << ",";2107 // cout << sample_mat.cols() << ","; 2090 2108 } 2091 2109 … … 2096 2114 } 2097 2115 2098 cout << endl;2116 // cout << endl; 2099 2117 return sample_mat; 2100 2118 }