#include #include #include "libcola/cola.h" using namespace cola; int main(void) { CompoundConstraints ccs; std::vector es; EdgeLengths eLengths; double defaultEdgeLength=1; std::vector rs; vpsc::Rectangle *rect = nullptr; rect = new vpsc::Rectangle(56.4457, 117.446, 954.77, 1043.77); rs.push_back(rect); rect = new vpsc::Rectangle(119.446, 127.446, 992.02, 1000.02); rs.push_back(rect); rect = new vpsc::Rectangle(119.446, 127.446, 1004.27, 1012.27); rs.push_back(rect); rect = new vpsc::Rectangle(119.446, 127.446, 1016.52, 1024.52); rs.push_back(rect); rect = new vpsc::Rectangle(46.4457, 54.4457, 1004.27, 1012.27); rs.push_back(rect); rect = new vpsc::Rectangle(2165.45, 2239.45, 976.562, 1065.56); rs.push_back(rect); rect = new vpsc::Rectangle(2155.45, 2163.45, 1026.06, 1034.06); rs.push_back(rect); rect = new vpsc::Rectangle(-106.554, 6.44565, 955.683, 1044.68); rs.push_back(rect); rect = new vpsc::Rectangle(8.44565, 16.4457, 1005.18, 1013.18); rs.push_back(rect); rect = new vpsc::Rectangle(331.446, 412.446, 1015.55, 1104.55); rs.push_back(rect); rect = new vpsc::Rectangle(414.446, 422.446, 1065.05, 1073.05); rs.push_back(rect); rect = new vpsc::Rectangle(356.112, 364.112, 1106.55, 1114.55); rs.push_back(rect); rect = new vpsc::Rectangle(339.779, 347.779, 1106.55, 1114.55); rs.push_back(rect); rect = new vpsc::Rectangle(321.446, 329.446, 1073.22, 1081.22); rs.push_back(rect); rect = new vpsc::Rectangle(321.446, 329.446, 1056.88, 1064.88); rs.push_back(rect); rect = new vpsc::Rectangle(477.446, 559.446, 948.569, 1037.57); rs.push_back(rect); rect = new vpsc::Rectangle(561.446, 569.446, 998.069, 1006.07); rs.push_back(rect); rect = new vpsc::Rectangle(503.946, 511.946, 1039.57, 1047.57); rs.push_back(rect); rect = new vpsc::Rectangle(467.446, 475.446, 998.069, 1006.07); rs.push_back(rect); rect = new vpsc::Rectangle(56.4457, 127.446, 863.77, 952.77); rs.push_back(rect); rect = new vpsc::Rectangle(129.446, 137.446, 913.27, 921.27); rs.push_back(rect); rect = new vpsc::Rectangle(46.4457, 54.4457, 913.27, 921.27); rs.push_back(rect); rect = new vpsc::Rectangle(177.446, 281.446, 922.444, 1011.44); rs.push_back(rect); rect = new vpsc::Rectangle(283.446, 291.446, 971.944, 979.944); rs.push_back(rect); rect = new vpsc::Rectangle(167.446, 175.446, 986.644, 994.644); rs.push_back(rect); rect = new vpsc::Rectangle(167.446, 175.446, 976.844, 984.844); rs.push_back(rect); rect = new vpsc::Rectangle(167.446, 175.446, 967.044, 975.044); rs.push_back(rect); rect = new vpsc::Rectangle(167.446, 175.446, 957.244, 965.244); rs.push_back(rect); rect = new vpsc::Rectangle(331.446, 427.446, 924.551, 1013.55); rs.push_back(rect); rect = new vpsc::Rectangle(429.446, 437.446, 974.051, 982.051); rs.push_back(rect); rect = new vpsc::Rectangle(321.446, 329.446, 974.051, 982.051); rs.push_back(rect); rect = new vpsc::Rectangle(609.446, 730.446, 936.692, 1025.69); rs.push_back(rect); rect = new vpsc::Rectangle(732.446, 740.446, 971.492, 979.492); rs.push_back(rect); rect = new vpsc::Rectangle(732.446, 740.446, 981.292, 989.292); rs.push_back(rect); rect = new vpsc::Rectangle(732.446, 740.446, 991.092, 999.092); rs.push_back(rect); rect = new vpsc::Rectangle(732.446, 740.446, 1000.89, 1008.89); rs.push_back(rect); rect = new vpsc::Rectangle(599.446, 607.446, 986.192, 994.192); rs.push_back(rect); rect = new vpsc::Rectangle(780.446, 846.446, 838.172, 932.172); rs.push_back(rect); rect = new vpsc::Rectangle(848.446, 856.446, 890.172, 898.172); rs.push_back(rect); rect = new vpsc::Rectangle(770.446, 778.446, 890.172, 898.172); rs.push_back(rect); rect = new vpsc::Rectangle(780.446, 846.446, 934.172, 1028.17); rs.push_back(rect); rect = new vpsc::Rectangle(848.446, 856.446, 986.172, 994.172); rs.push_back(rect); rect = new vpsc::Rectangle(770.446, 778.446, 986.172, 994.172); rs.push_back(rect); // rect-43 rect = new vpsc::Rectangle(941.446, 1155.45, 922.958, 1025.96); rs.push_back(rect); rect = new vpsc::Rectangle(1147.45, 1155.45, 979.458, 987.458); rs.push_back(rect); rect = new vpsc::Rectangle(941.446, 949.446, 998.358, 1006.36); rs.push_back(rect); rect = new vpsc::Rectangle(941.446, 949.446, 985.757, 993.757); rs.push_back(rect); rect = new vpsc::Rectangle(941.446, 949.446, 973.158, 981.158); rs.push_back(rect); rect = new vpsc::Rectangle(941.446, 949.446, 960.558, 968.558); rs.push_back(rect); rect = new vpsc::Rectangle(780.446, 846.446, 1030.17, 1124.17); rs.push_back(rect); rect = new vpsc::Rectangle(848.446, 856.446, 1082.17, 1090.17); rs.push_back(rect); rect = new vpsc::Rectangle(770.446, 778.446, 1082.17, 1090.17); rs.push_back(rect); rect = new vpsc::Rectangle(1195.45, 1263.45, 938.653, 1017.65); rs.push_back(rect); rect = new vpsc::Rectangle(1265.45, 1273.45, 983.153, 991.153); rs.push_back(rect); rect = new vpsc::Rectangle(1185.45, 1193.45, 989.653, 997.653); rs.push_back(rect); rect = new vpsc::Rectangle(1185.45, 1193.45, 976.653, 984.653); rs.push_back(rect); rect = new vpsc::Rectangle(1313.45, 1374.45, 934.988, 1013.99); rs.push_back(rect); rect = new vpsc::Rectangle(1376.45, 1384.45, 979.488, 987.488); rs.push_back(rect); rect = new vpsc::Rectangle(1303.45, 1311.45, 979.488, 987.488); rs.push_back(rect); rect = new vpsc::Rectangle(1586.45, 1660.45, 855.704, 944.704); rs.push_back(rect); rect = new vpsc::Rectangle(1576.45, 1584.45, 905.204, 913.204); rs.push_back(rect); rect = new vpsc::Rectangle(1424.45, 1536.45, 866.456, 945.456); rs.push_back(rect); rect = new vpsc::Rectangle(1538.45, 1546.45, 910.956, 918.956); rs.push_back(rect); rect = new vpsc::Rectangle(1414.45, 1422.45, 910.956, 918.956); rs.push_back(rect); rect = new vpsc::Rectangle(1445.45, 1515.45, 947.456, 1036.46); rs.push_back(rect); rect = new vpsc::Rectangle(1517.45, 1525.45, 996.956, 1004.96); rs.push_back(rect); rect = new vpsc::Rectangle(1471.95, 1479.95, 1038.46, 1046.46); rs.push_back(rect); rect = new vpsc::Rectangle(1435.45, 1443.45, 996.956, 1004.96); rs.push_back(rect); rect = new vpsc::Rectangle(1699.45, 1748.45, 970.163, 1059.16); rs.push_back(rect); rect = new vpsc::Rectangle(1750.45, 1758.45, 1019.66, 1027.66); rs.push_back(rect); rect = new vpsc::Rectangle(1689.45, 1697.45, 1027.83, 1035.83); rs.push_back(rect); rect = new vpsc::Rectangle(1689.45, 1697.45, 1011.5, 1019.5); rs.push_back(rect); rect = new vpsc::Rectangle(1811.45, 1898.45, 1010.04, 1099.04); rs.push_back(rect); rect = new vpsc::Rectangle(1900.45, 1908.45, 1059.54, 1067.54); rs.push_back(rect); rect = new vpsc::Rectangle(1801.45, 1809.45, 1067.7, 1075.7); rs.push_back(rect); rect = new vpsc::Rectangle(1801.45, 1809.45, 1051.37, 1059.37); rs.push_back(rect); rect = new vpsc::Rectangle(1699.45, 1761.45, 1061.16, 1134.16); rs.push_back(rect); rect = new vpsc::Rectangle(1763.45, 1771.45, 1102.66, 1110.66); rs.push_back(rect); rect = new vpsc::Rectangle(1689.45, 1697.45, 1102.66, 1110.66); rs.push_back(rect); rect = new vpsc::Rectangle(2053.45, 2115.45, 985.999, 1080); rs.push_back(rect); rect = new vpsc::Rectangle(2117.45, 2125.45, 1038, 1046); rs.push_back(rect); rect = new vpsc::Rectangle(2080.11, 2088.11, 1082, 1090); rs.push_back(rect); rect = new vpsc::Rectangle(2062.78, 2070.78, 1082, 1090); rs.push_back(rect); rect = new vpsc::Rectangle(2043.45, 2051.45, 1038, 1046); rs.push_back(rect); rect = new vpsc::Rectangle(1948.45, 2003.45, 996.147, 1090.15); rs.push_back(rect); rect = new vpsc::Rectangle(2005.45, 2013.45, 1048.15, 1056.15); rs.push_back(rect); rect = new vpsc::Rectangle(1975.11, 1983.11, 1092.15, 1100.15); rs.push_back(rect); rect = new vpsc::Rectangle(1957.78, 1965.78, 1092.15, 1100.15); rs.push_back(rect); rect = new vpsc::Rectangle(1938.45, 1946.45, 1048.15, 1056.15); rs.push_back(rect); rect = new vpsc::Rectangle(1565.45, 1649.45, 951.936, 1040.94); rs.push_back(rect); rect = new vpsc::Rectangle(1651.45, 1659.45, 1001.44, 1009.44); rs.push_back(rect); rect = new vpsc::Rectangle(1555.45, 1563.45, 1001.44, 1009.44); rs.push_back(rect); es.push_back(std::make_pair(0, 1)); es.push_back(std::make_pair(0, 2)); es.push_back(std::make_pair(0, 3)); es.push_back(std::make_pair(0, 4)); es.push_back(std::make_pair(1, 26)); es.push_back(std::make_pair(2, 25)); es.push_back(std::make_pair(3, 6)); es.push_back(std::make_pair(3, 24)); es.push_back(std::make_pair(4, 8)); es.push_back(std::make_pair(5, 6)); es.push_back(std::make_pair(6, 80)); es.push_back(std::make_pair(7, 8)); es.push_back(std::make_pair(9, 10)); es.push_back(std::make_pair(9, 11)); es.push_back(std::make_pair(9, 12)); es.push_back(std::make_pair(9, 13)); es.push_back(std::make_pair(9, 14)); es.push_back(std::make_pair(10, 17)); es.push_back(std::make_pair(15, 16)); es.push_back(std::make_pair(15, 17)); es.push_back(std::make_pair(15, 18)); es.push_back(std::make_pair(16, 36)); es.push_back(std::make_pair(16, 67)); es.push_back(std::make_pair(18, 29)); es.push_back(std::make_pair(19, 20)); es.push_back(std::make_pair(19, 21)); es.push_back(std::make_pair(20, 27)); es.push_back(std::make_pair(22, 23)); es.push_back(std::make_pair(22, 24)); es.push_back(std::make_pair(22, 25)); es.push_back(std::make_pair(22, 26)); es.push_back(std::make_pair(22, 27)); es.push_back(std::make_pair(23, 30)); es.push_back(std::make_pair(28, 29)); es.push_back(std::make_pair(28, 30)); es.push_back(std::make_pair(31, 32)); es.push_back(std::make_pair(31, 33)); es.push_back(std::make_pair(31, 34)); es.push_back(std::make_pair(31, 35)); es.push_back(std::make_pair(31, 36)); es.push_back(std::make_pair(32, 39)); es.push_back(std::make_pair(32, 48)); es.push_back(std::make_pair(34, 42)); es.push_back(std::make_pair(35, 51)); es.push_back(std::make_pair(35, 54)); es.push_back(std::make_pair(37, 38)); es.push_back(std::make_pair(37, 39)); es.push_back(std::make_pair(38, 47)); es.push_back(std::make_pair(40, 41)); es.push_back(std::make_pair(40, 42)); es.push_back(std::make_pair(41, 46)); es.push_back(std::make_pair(43, 44)); es.push_back(std::make_pair(43, 45)); es.push_back(std::make_pair(43, 46)); es.push_back(std::make_pair(43, 47)); es.push_back(std::make_pair(43, 48)); es.push_back(std::make_pair(44, 55)); es.push_back(std::make_pair(45, 50)); es.push_back(std::make_pair(49, 50)); es.push_back(std::make_pair(49, 51)); es.push_back(std::make_pair(52, 53)); es.push_back(std::make_pair(52, 54)); es.push_back(std::make_pair(52, 55)); es.push_back(std::make_pair(53, 58)); es.push_back(std::make_pair(56, 57)); es.push_back(std::make_pair(56, 58)); es.push_back(std::make_pair(57, 63)); es.push_back(std::make_pair(57, 66)); es.push_back(std::make_pair(59, 60)); es.push_back(std::make_pair(60, 62)); es.push_back(std::make_pair(61, 62)); es.push_back(std::make_pair(61, 63)); es.push_back(std::make_pair(64, 65)); es.push_back(std::make_pair(64, 66)); es.push_back(std::make_pair(64, 67)); es.push_back(std::make_pair(65, 91)); es.push_back(std::make_pair(68, 69)); es.push_back(std::make_pair(68, 70)); es.push_back(std::make_pair(68, 71)); es.push_back(std::make_pair(69, 75)); es.push_back(std::make_pair(70, 85)); es.push_back(std::make_pair(71, 90)); es.push_back(std::make_pair(72, 73)); es.push_back(std::make_pair(72, 74)); es.push_back(std::make_pair(72, 75)); es.push_back(std::make_pair(73, 88)); es.push_back(std::make_pair(75, 77)); es.push_back(std::make_pair(76, 77)); es.push_back(std::make_pair(76, 78)); es.push_back(std::make_pair(79, 80)); es.push_back(std::make_pair(79, 81)); es.push_back(std::make_pair(79, 82)); es.push_back(std::make_pair(79, 83)); es.push_back(std::make_pair(83, 85)); es.push_back(std::make_pair(84, 85)); es.push_back(std::make_pair(84, 86)); es.push_back(std::make_pair(84, 87)); es.push_back(std::make_pair(84, 88)); es.push_back(std::make_pair(89, 90)); es.push_back(std::make_pair(89, 91)); eLengths.resize(100); eLengths[0] = 59.6059; eLengths[1] = 59.6059; eLengths[2] = 59.6059; eLengths[3] = 59.6059; eLengths[4] = 63.5296; eLengths[5] = 77.5769; eLengths[6] = 65.8274; eLengths[7] = 65.8274; eLengths[8] = 65.8274; eLengths[9] = 65.8274; eLengths[10] = 65.8274; eLengths[11] = 66.1651; eLengths[12] = 66.1651; eLengths[13] = 66.1651; eLengths[14] = 62.5822; eLengths[15] = 62.5822; eLengths[16] = 74.0984; eLengths[17] = 74.0984; eLengths[18] = 74.0984; eLengths[19] = 74.0984; eLengths[20] = 74.0984; eLengths[21] = 71.111; eLengths[22] = 71.111; eLengths[23] = 80.7601; eLengths[24] = 80.7601; eLengths[25] = 80.7601; eLengths[26] = 80.7601; eLengths[27] = 80.7601; eLengths[28] = 63.0851; eLengths[29] = 63.0851; eLengths[30] = 63.0851; eLengths[31] = 63.0851; eLengths[32] = 115.481; eLengths[33] = 115.481; eLengths[34] = 115.481; eLengths[35] = 115.481; eLengths[36] = 115.481; eLengths[37] = 63.0851; eLengths[38] = 63.0851; eLengths[39] = 57.7745; eLengths[40] = 57.7745; eLengths[41] = 57.7745; eLengths[42] = 55.5618; eLengths[43] = 55.5618; eLengths[44] = 63.5296; eLengths[45] = 74.186; eLengths[46] = 74.186; eLengths[47] = 62.2718; eLengths[48] = 62.2718; eLengths[49] = 62.2718; eLengths[50] = 56.4555; eLengths[51] = 56.4555; eLengths[52] = 56.4555; eLengths[53] = 67.8863; eLengths[54] = 67.8863; eLengths[55] = 67.8863; eLengths[56] = 53.5447; eLengths[57] = 53.5447; eLengths[58] = 61.9596; eLengths[59] = 61.9596; eLengths[60] = 61.9596; eLengths[61] = 61.9596; eLengths[62] = 60.111; eLengths[63] = 60.111; eLengths[64] = 60.111; eLengths[65] = 60.111; eLengths[66] = 66.8471; eLengths[67] = 66.8471; eLengths[68] = 18.3712; eLengths[69] = 18.3712; eLengths[70] = 18.3712; eLengths[71] = 18.3712; eLengths[72] = 10.6066; eLengths[73] = 10.6066; eLengths[74] = 15; eLengths[75] = 15; eLengths[76] = 15; eLengths[77] = 10.6066; eLengths[78] = 10.6066; eLengths[79] = 23.7171; eLengths[80] = 30; eLengths[81] = 23.7171; eLengths[82] = 23.7171; eLengths[83] = 25.9808; eLengths[84] = 21.2132; eLengths[85] = 21.2132; eLengths[86] = 15; eLengths[87] = 21.2132; eLengths[88] = 10.6066; eLengths[89] = 15; eLengths[90] = 15; eLengths[91] = 10.6066; eLengths[92] = 10.6066; eLengths[93] = 15; eLengths[94] = 10.6066; eLengths[95] = 15; eLengths[96] = 15; eLengths[97] = 15; eLengths[98] = 18.3712; eLengths[99] = 15; SeparationConstraint *separation479625808 = new SeparationConstraint(vpsc::XDIM, 0, 1, 36.5, true); ccs.push_back(separation479625808); SeparationConstraint *separation479626000 = new SeparationConstraint(vpsc::YDIM, 0, 1, -3.25, true); ccs.push_back(separation479626000); SeparationConstraint *separation479625936 = new SeparationConstraint(vpsc::XDIM, 0, 2, 36.5, true); ccs.push_back(separation479625936); SeparationConstraint *separation479626128 = new SeparationConstraint(vpsc::YDIM, 0, 2, 9, true); ccs.push_back(separation479626128); SeparationConstraint *separation479626064 = new SeparationConstraint(vpsc::XDIM, 0, 3, 36.5, true); ccs.push_back(separation479626064); SeparationConstraint *separation479626256 = new SeparationConstraint(vpsc::YDIM, 0, 3, 21.25, true); ccs.push_back(separation479626256); SeparationConstraint *separation479626192 = new SeparationConstraint(vpsc::XDIM, 0, 4, -36.5, true); ccs.push_back(separation479626192); SeparationConstraint *separation479626384 = new SeparationConstraint(vpsc::YDIM, 0, 4, 9, true); ccs.push_back(separation479626384); SeparationConstraint *separation479626320 = new SeparationConstraint(vpsc::XDIM, 5, 6, -43, true); ccs.push_back(separation479626320); SeparationConstraint *separation479626512 = new SeparationConstraint(vpsc::YDIM, 5, 6, 9, true); ccs.push_back(separation479626512); SeparationConstraint *separation479626448 = new SeparationConstraint(vpsc::XDIM, 7, 8, 62.5, true); ccs.push_back(separation479626448); SeparationConstraint *separation479626640 = new SeparationConstraint(vpsc::YDIM, 7, 8, 9, true); ccs.push_back(separation479626640); SeparationConstraint *separation479626576 = new SeparationConstraint(vpsc::XDIM, 9, 10, 46.5, true); ccs.push_back(separation479626576); SeparationConstraint *separation479626768 = new SeparationConstraint(vpsc::YDIM, 9, 10, 9, true); ccs.push_back(separation479626768); SeparationConstraint *separation479626704 = new SeparationConstraint(vpsc::XDIM, 9, 11, -11.8333, true); ccs.push_back(separation479626704); SeparationConstraint *separation479626896 = new SeparationConstraint(vpsc::YDIM, 9, 11, 50.5, true); ccs.push_back(separation479626896); SeparationConstraint *separation479626832 = new SeparationConstraint(vpsc::XDIM, 9, 12, -28.1667, true); ccs.push_back(separation479626832); SeparationConstraint *separation479627024 = new SeparationConstraint(vpsc::YDIM, 9, 12, 50.5, true); ccs.push_back(separation479627024); SeparationConstraint *separation479626960 = new SeparationConstraint(vpsc::XDIM, 9, 13, -46.5, true); ccs.push_back(separation479626960); SeparationConstraint *separation479627152 = new SeparationConstraint(vpsc::YDIM, 9, 13, 17.1667, true); ccs.push_back(separation479627152); SeparationConstraint *separation479627088 = new SeparationConstraint(vpsc::XDIM, 9, 14, -46.5, true); ccs.push_back(separation479627088); SeparationConstraint *separation479627280 = new SeparationConstraint(vpsc::YDIM, 9, 14, 0.833333, true); ccs.push_back(separation479627280); SeparationConstraint *separation479627216 = new SeparationConstraint(vpsc::XDIM, 15, 16, 47, true); ccs.push_back(separation479627216); SeparationConstraint *separation479627408 = new SeparationConstraint(vpsc::YDIM, 15, 16, 9, true); ccs.push_back(separation479627408); SeparationConstraint *separation479627344 = new SeparationConstraint(vpsc::XDIM, 15, 17, -10.5, true); ccs.push_back(separation479627344); SeparationConstraint *separation479627536 = new SeparationConstraint(vpsc::YDIM, 15, 17, 50.5, true); ccs.push_back(separation479627536); SeparationConstraint *separation479627472 = new SeparationConstraint(vpsc::XDIM, 15, 18, -47, true); ccs.push_back(separation479627472); SeparationConstraint *separation479627664 = new SeparationConstraint(vpsc::YDIM, 15, 18, 9, true); ccs.push_back(separation479627664); SeparationConstraint *separation479627600 = new SeparationConstraint(vpsc::XDIM, 19, 20, 41.5, true); ccs.push_back(separation479627600); SeparationConstraint *separation479627792 = new SeparationConstraint(vpsc::YDIM, 19, 20, 9, true); ccs.push_back(separation479627792); SeparationConstraint *separation479627728 = new SeparationConstraint(vpsc::XDIM, 19, 21, -41.5, true); ccs.push_back(separation479627728); SeparationConstraint *separation479627920 = new SeparationConstraint(vpsc::YDIM, 19, 21, 9, true); ccs.push_back(separation479627920); SeparationConstraint *separation479627856 = new SeparationConstraint(vpsc::XDIM, 22, 23, 58, true); ccs.push_back(separation479627856); SeparationConstraint *separation479628048 = new SeparationConstraint(vpsc::YDIM, 22, 23, 9, true); ccs.push_back(separation479628048); SeparationConstraint *separation479627984 = new SeparationConstraint(vpsc::XDIM, 22, 24, -58, true); ccs.push_back(separation479627984); SeparationConstraint *separation479628176 = new SeparationConstraint(vpsc::YDIM, 22, 24, 23.7, true); ccs.push_back(separation479628176); SeparationConstraint *separation479628112 = new SeparationConstraint(vpsc::XDIM, 22, 25, -58, true); ccs.push_back(separation479628112); SeparationConstraint *separation479628304 = new SeparationConstraint(vpsc::YDIM, 22, 25, 13.9, true); ccs.push_back(separation479628304); SeparationConstraint *separation479628240 = new SeparationConstraint(vpsc::XDIM, 22, 26, -58, true); ccs.push_back(separation479628240); SeparationConstraint *separation479628432 = new SeparationConstraint(vpsc::YDIM, 22, 26, 4.1, true); ccs.push_back(separation479628432); SeparationConstraint *separation479628368 = new SeparationConstraint(vpsc::XDIM, 22, 27, -58, true); ccs.push_back(separation479628368); SeparationConstraint *separation479628560 = new SeparationConstraint(vpsc::YDIM, 22, 27, -5.7, true); ccs.push_back(separation479628560); SeparationConstraint *separation479628496 = new SeparationConstraint(vpsc::XDIM, 28, 29, 54, true); ccs.push_back(separation479628496); SeparationConstraint *separation479628688 = new SeparationConstraint(vpsc::YDIM, 28, 29, 9, true); ccs.push_back(separation479628688); SeparationConstraint *separation479628624 = new SeparationConstraint(vpsc::XDIM, 28, 30, -54, true); ccs.push_back(separation479628624); SeparationConstraint *separation479628816 = new SeparationConstraint(vpsc::YDIM, 28, 30, 9, true); ccs.push_back(separation479628816); SeparationConstraint *separation479628752 = new SeparationConstraint(vpsc::XDIM, 31, 32, 66.5, true); ccs.push_back(separation479628752); SeparationConstraint *separation479622736 = new SeparationConstraint(vpsc::YDIM, 31, 32, -5.7, true); ccs.push_back(separation479622736); SeparationConstraint *separation479622800 = new SeparationConstraint(vpsc::XDIM, 31, 33, 66.5, true); ccs.push_back(separation479622800); SeparationConstraint *separation479622864 = new SeparationConstraint(vpsc::YDIM, 31, 33, 4.1, true); ccs.push_back(separation479622864); SeparationConstraint *separation479622928 = new SeparationConstraint(vpsc::XDIM, 31, 34, 66.5, true); ccs.push_back(separation479622928); SeparationConstraint *separation479622992 = new SeparationConstraint(vpsc::YDIM, 31, 34, 13.9, true); ccs.push_back(separation479622992); SeparationConstraint *separation479623056 = new SeparationConstraint(vpsc::XDIM, 31, 35, 66.5, true); ccs.push_back(separation479623056); SeparationConstraint *separation479623120 = new SeparationConstraint(vpsc::YDIM, 31, 35, 23.7, true); ccs.push_back(separation479623120); SeparationConstraint *separation479623184 = new SeparationConstraint(vpsc::XDIM, 31, 36, -66.5, true); ccs.push_back(separation479623184); SeparationConstraint *separation479623248 = new SeparationConstraint(vpsc::YDIM, 31, 36, 9, true); ccs.push_back(separation479623248); SeparationConstraint *separation479623312 = new SeparationConstraint(vpsc::XDIM, 37, 38, 39, true); ccs.push_back(separation479623312); SeparationConstraint *separation479623440 = new SeparationConstraint(vpsc::YDIM, 37, 38, 9, true); ccs.push_back(separation479623440); SeparationConstraint *separation479623504 = new SeparationConstraint(vpsc::XDIM, 37, 39, -39, true); ccs.push_back(separation479623504); SeparationConstraint *separation479623568 = new SeparationConstraint(vpsc::YDIM, 37, 39, 9, true); ccs.push_back(separation479623568); SeparationConstraint *separation479623632 = new SeparationConstraint(vpsc::XDIM, 40, 41, 39, true); ccs.push_back(separation479623632); SeparationConstraint *separation479623696 = new SeparationConstraint(vpsc::YDIM, 40, 41, 9, true); ccs.push_back(separation479623696); SeparationConstraint *separation479623760 = new SeparationConstraint(vpsc::XDIM, 40, 42, -39, true); ccs.push_back(separation479623760); SeparationConstraint *separation479623888 = new SeparationConstraint(vpsc::YDIM, 40, 42, 9, true); ccs.push_back(separation479623888); SeparationConstraint *separation479623952 = new SeparationConstraint(vpsc::XDIM, 43, 44, 103, true); ccs.push_back(separation479623952); SeparationConstraint *separation479624016 = new SeparationConstraint(vpsc::YDIM, 43, 44, 9, true); ccs.push_back(separation479624016); SeparationConstraint *separation479624080 = new SeparationConstraint(vpsc::XDIM, 43, 45, -103, true); ccs.push_back(separation479624080); SeparationConstraint *separation479624144 = new SeparationConstraint(vpsc::YDIM, 43, 45, 27.9, true); ccs.push_back(separation479624144); SeparationConstraint *separation479624208 = new SeparationConstraint(vpsc::XDIM, 43, 46, -103, true); ccs.push_back(separation479624208); SeparationConstraint *separation479624272 = new SeparationConstraint(vpsc::YDIM, 43, 46, 15.3, true); ccs.push_back(separation479624272); SeparationConstraint *separation479624336 = new SeparationConstraint(vpsc::XDIM, 43, 47, -103, true); ccs.push_back(separation479624336); SeparationConstraint *separation479624400 = new SeparationConstraint(vpsc::YDIM, 43, 47, 2.7, true); ccs.push_back(separation479624400); SeparationConstraint *separation479624528 = new SeparationConstraint(vpsc::XDIM, 43, 48, -103, true); ccs.push_back(separation479624528); SeparationConstraint *separation479624592 = new SeparationConstraint(vpsc::YDIM, 43, 48, -9.9, true); ccs.push_back(separation479624592); SeparationConstraint *separation479624656 = new SeparationConstraint(vpsc::XDIM, 49, 50, 39, true); ccs.push_back(separation479624656); SeparationConstraint *separation479624720 = new SeparationConstraint(vpsc::YDIM, 49, 50, 9, true); ccs.push_back(separation479624720); SeparationConstraint *separation479624784 = new SeparationConstraint(vpsc::XDIM, 49, 51, -39, true); ccs.push_back(separation479624784); SeparationConstraint *separation479624848 = new SeparationConstraint(vpsc::YDIM, 49, 51, 9, true); ccs.push_back(separation479624848); SeparationConstraint *separation479624912 = new SeparationConstraint(vpsc::XDIM, 52, 53, 40, true); ccs.push_back(separation479624912); SeparationConstraint *separation479624976 = new SeparationConstraint(vpsc::YDIM, 52, 53, 9, true); ccs.push_back(separation479624976); SeparationConstraint *separation479625040 = new SeparationConstraint(vpsc::XDIM, 52, 54, -40, true); ccs.push_back(separation479625040); SeparationConstraint *separation479625104 = new SeparationConstraint(vpsc::YDIM, 52, 54, 15.5, true); ccs.push_back(separation479625104); SeparationConstraint *separation479625168 = new SeparationConstraint(vpsc::XDIM, 52, 55, -40, true); ccs.push_back(separation479625168); SeparationConstraint *separation479625232 = new SeparationConstraint(vpsc::YDIM, 52, 55, 2.5, true); ccs.push_back(separation479625232); SeparationConstraint *separation479625296 = new SeparationConstraint(vpsc::XDIM, 56, 57, 36.5, true); ccs.push_back(separation479625296); SeparationConstraint *separation479625360 = new SeparationConstraint(vpsc::YDIM, 56, 57, 9, true); ccs.push_back(separation479625360); SeparationConstraint *separation479625424 = new SeparationConstraint(vpsc::XDIM, 56, 58, -36.5, true); ccs.push_back(separation479625424); SeparationConstraint *separation479625552 = new SeparationConstraint(vpsc::YDIM, 56, 58, 9, true); ccs.push_back(separation479625552); SeparationConstraint *separation479625616 = new SeparationConstraint(vpsc::XDIM, 59, 60, -43, true); ccs.push_back(separation479625616); SeparationConstraint *separation479625680 = new SeparationConstraint(vpsc::YDIM, 59, 60, 9, true); ccs.push_back(separation479625680); SeparationConstraint *separation479625744 = new SeparationConstraint(vpsc::XDIM, 61, 62, 62, true); ccs.push_back(separation479625744); SeparationConstraint *separation479625488 = new SeparationConstraint(vpsc::YDIM, 61, 62, 9, true); ccs.push_back(separation479625488); SeparationConstraint *separation479624464 = new SeparationConstraint(vpsc::XDIM, 61, 63, -62, true); ccs.push_back(separation479624464); SeparationConstraint *separation479623824 = new SeparationConstraint(vpsc::YDIM, 61, 63, 9, true); ccs.push_back(separation479623824); SeparationConstraint *separation479623376 = new SeparationConstraint(vpsc::XDIM, 64, 65, 41, true); ccs.push_back(separation479623376); SeparationConstraint *separation479628944 = new SeparationConstraint(vpsc::YDIM, 64, 65, 9, true); ccs.push_back(separation479628944); SeparationConstraint *separation479628880 = new SeparationConstraint(vpsc::XDIM, 64, 66, -4.5, true); ccs.push_back(separation479628880); SeparationConstraint *separation479629008 = new SeparationConstraint(vpsc::YDIM, 64, 66, 50.5, true); ccs.push_back(separation479629008); SeparationConstraint *separation479629072 = new SeparationConstraint(vpsc::XDIM, 64, 67, -41, true); ccs.push_back(separation479629072); SeparationConstraint *separation479629136 = new SeparationConstraint(vpsc::YDIM, 64, 67, 9, true); ccs.push_back(separation479629136); SeparationConstraint *separation479629200 = new SeparationConstraint(vpsc::XDIM, 68, 69, 30.5, true); ccs.push_back(separation479629200); SeparationConstraint *separation479629264 = new SeparationConstraint(vpsc::YDIM, 68, 69, 9, true); ccs.push_back(separation479629264); SeparationConstraint *separation479629328 = new SeparationConstraint(vpsc::XDIM, 68, 70, -30.5, true); ccs.push_back(separation479629328); SeparationConstraint *separation479629392 = new SeparationConstraint(vpsc::YDIM, 68, 70, 17.1667, true); ccs.push_back(separation479629392); SeparationConstraint *separation479629456 = new SeparationConstraint(vpsc::XDIM, 68, 71, -30.5, true); ccs.push_back(separation479629456); SeparationConstraint *separation479629520 = new SeparationConstraint(vpsc::YDIM, 68, 71, 0.833333, true); ccs.push_back(separation479629520); SeparationConstraint *separation479629584 = new SeparationConstraint(vpsc::XDIM, 72, 73, 49.5, true); ccs.push_back(separation479629584); SeparationConstraint *separation479629648 = new SeparationConstraint(vpsc::YDIM, 72, 73, 9, true); ccs.push_back(separation479629648); SeparationConstraint *separation479629712 = new SeparationConstraint(vpsc::XDIM, 72, 74, -49.5, true); ccs.push_back(separation479629712); SeparationConstraint *separation479629776 = new SeparationConstraint(vpsc::YDIM, 72, 74, 17.1667, true); ccs.push_back(separation479629776); SeparationConstraint *separation479629840 = new SeparationConstraint(vpsc::XDIM, 72, 75, -49.5, true); ccs.push_back(separation479629840); SeparationConstraint *separation479629904 = new SeparationConstraint(vpsc::YDIM, 72, 75, 0.833333, true); ccs.push_back(separation479629904); SeparationConstraint *separation479629968 = new SeparationConstraint(vpsc::XDIM, 76, 77, 37, true); ccs.push_back(separation479629968); SeparationConstraint *separation479630032 = new SeparationConstraint(vpsc::YDIM, 76, 77, 9, true); ccs.push_back(separation479630032); SeparationConstraint *separation479630096 = new SeparationConstraint(vpsc::XDIM, 76, 78, -37, true); ccs.push_back(separation479630096); SeparationConstraint *separation479630160 = new SeparationConstraint(vpsc::YDIM, 76, 78, 9, true); ccs.push_back(separation479630160); SeparationConstraint *separation479630224 = new SeparationConstraint(vpsc::XDIM, 79, 80, 37, true); ccs.push_back(separation479630224); SeparationConstraint *separation479630288 = new SeparationConstraint(vpsc::YDIM, 79, 80, 9, true); ccs.push_back(separation479630288); SeparationConstraint *separation479630352 = new SeparationConstraint(vpsc::XDIM, 79, 81, -0.333334, true); ccs.push_back(separation479630352); SeparationConstraint *separation479630416 = new SeparationConstraint(vpsc::YDIM, 79, 81, 53, true); ccs.push_back(separation479630416); SeparationConstraint *separation477486176 = new SeparationConstraint(vpsc::XDIM, 79, 82, -17.6667, true); ccs.push_back(separation477486176); SeparationConstraint *separation477486240 = new SeparationConstraint(vpsc::YDIM, 79, 82, 53, true); ccs.push_back(separation477486240); SeparationConstraint *separation477486304 = new SeparationConstraint(vpsc::XDIM, 79, 83, -37, true); ccs.push_back(separation477486304); SeparationConstraint *separation477486368 = new SeparationConstraint(vpsc::YDIM, 79, 83, 9, true); ccs.push_back(separation477486368); SeparationConstraint *separation477486432 = new SeparationConstraint(vpsc::XDIM, 84, 85, 33.5, true); ccs.push_back(separation477486432); SeparationConstraint *separation477486496 = new SeparationConstraint(vpsc::YDIM, 84, 85, 9, true); ccs.push_back(separation477486496); SeparationConstraint *separation477486560 = new SeparationConstraint(vpsc::XDIM, 84, 86, 3.16667, true); ccs.push_back(separation477486560); SeparationConstraint *separation477486624 = new SeparationConstraint(vpsc::YDIM, 84, 86, 53, true); ccs.push_back(separation477486624); SeparationConstraint *separation477486688 = new SeparationConstraint(vpsc::XDIM, 84, 87, -14.1667, true); ccs.push_back(separation477486688); SeparationConstraint *separation477486752 = new SeparationConstraint(vpsc::YDIM, 84, 87, 53, true); ccs.push_back(separation477486752); SeparationConstraint *separation477486816 = new SeparationConstraint(vpsc::XDIM, 84, 88, -33.5, true); ccs.push_back(separation477486816); SeparationConstraint *separation477486880 = new SeparationConstraint(vpsc::YDIM, 84, 88, 9, true); ccs.push_back(separation477486880); SeparationConstraint *separation477486944 = new SeparationConstraint(vpsc::XDIM, 89, 90, 48, true); ccs.push_back(separation477486944); SeparationConstraint *separation477487008 = new SeparationConstraint(vpsc::YDIM, 89, 90, 9, true); ccs.push_back(separation477487008); SeparationConstraint *separation477487072 = new SeparationConstraint(vpsc::XDIM, 89, 91, -48, true); ccs.push_back(separation477487072); SeparationConstraint *separation477487136 = new SeparationConstraint(vpsc::YDIM, 89, 91, 9, true); ccs.push_back(separation477487136); SeparationConstraint *separation477487200 = new SeparationConstraint(vpsc::XDIM, 7, 0, 137, false); ccs.push_back(separation477487200); SeparationConstraint *separation477487264 = new SeparationConstraint(vpsc::XDIM, 0, 5, 118.5, false); ccs.push_back(separation477487264); SeparationConstraint *separation477487328 = new SeparationConstraint(vpsc::XDIM, 79, 5, 118, false); ccs.push_back(separation477487328); SeparationConstraint *separation477487392 = new SeparationConstraint(vpsc::XDIM, 9, 15, 146.5, false); ccs.push_back(separation477487392); SeparationConstraint *separation477487456 = new SeparationConstraint(vpsc::XDIM, 28, 15, 139, false); ccs.push_back(separation477487456); SeparationConstraint *separation477487520 = new SeparationConstraint(vpsc::XDIM, 0, 22, 142.5, false); ccs.push_back(separation477487520); SeparationConstraint *separation477487584 = new SeparationConstraint(vpsc::XDIM, 0, 22, 142.5, false); ccs.push_back(separation477487584); SeparationConstraint *separation477487648 = new SeparationConstraint(vpsc::XDIM, 0, 22, 142.5, false); ccs.push_back(separation477487648); SeparationConstraint *separation477487712 = new SeparationConstraint(vpsc::XDIM, 19, 22, 137.5, false); ccs.push_back(separation477487712); SeparationConstraint *separation477487776 = new SeparationConstraint(vpsc::XDIM, 22, 28, 150, false); ccs.push_back(separation477487776); SeparationConstraint *separation477487840 = new SeparationConstraint(vpsc::XDIM, 15, 31, 151.5, false); ccs.push_back(separation477487840); SeparationConstraint *separation477487904 = new SeparationConstraint(vpsc::XDIM, 31, 37, 143.5, false); ccs.push_back(separation477487904); SeparationConstraint *separation477487968 = new SeparationConstraint(vpsc::XDIM, 31, 40, 143.5, false); ccs.push_back(separation477487968); SeparationConstraint *separation477488032 = new SeparationConstraint(vpsc::XDIM, 31, 43, 207.5, false); ccs.push_back(separation477488032); SeparationConstraint *separation477488096 = new SeparationConstraint(vpsc::XDIM, 37, 43, 235, false); ccs.push_back(separation477488096); SeparationConstraint *separation477488160 = new SeparationConstraint(vpsc::XDIM, 40, 43, 235, false); ccs.push_back(separation477488160); SeparationConstraint *separation477488224 = new SeparationConstraint(vpsc::XDIM, 49, 43, 235, false); ccs.push_back(separation477488224); SeparationConstraint *separation477488288 = new SeparationConstraint(vpsc::XDIM, 31, 49, 143.5, false); ccs.push_back(separation477488288); SeparationConstraint *separation477488352 = new SeparationConstraint(vpsc::XDIM, 31, 52, 217.5, false); ccs.push_back(separation477488352); SeparationConstraint *separation477488416 = new SeparationConstraint(vpsc::XDIM, 43, 52, 181, false); ccs.push_back(separation477488416); SeparationConstraint *separation477488480 = new SeparationConstraint(vpsc::XDIM, 52, 56, 114.5, false); ccs.push_back(separation477488480); SeparationConstraint *separation477488544 = new SeparationConstraint(vpsc::XDIM, 61, 59, 143, false); ccs.push_back(separation477488544); SeparationConstraint *separation477488608 = new SeparationConstraint(vpsc::XDIM, 56, 61, 136.5, false); ccs.push_back(separation477488608); SeparationConstraint *separation477488672 = new SeparationConstraint(vpsc::XDIM, 15, 64, 126, false); ccs.push_back(separation477488672); SeparationConstraint *separation477488736 = new SeparationConstraint(vpsc::XDIM, 56, 64, 136.5, false); ccs.push_back(separation477488736); SeparationConstraint *separation477488800 = new SeparationConstraint(vpsc::XDIM, 89, 68, 116.5, false); ccs.push_back(separation477488800); SeparationConstraint *separation477488864 = new SeparationConstraint(vpsc::XDIM, 68, 72, 131, false); ccs.push_back(separation477488864); SeparationConstraint *separation477488928 = new SeparationConstraint(vpsc::XDIM, 76, 72, 124.5, false); ccs.push_back(separation477488928); SeparationConstraint *separation477488992 = new SeparationConstraint(vpsc::XDIM, 84, 79, 108.5, false); ccs.push_back(separation477488992); SeparationConstraint *separation477489056 = new SeparationConstraint(vpsc::XDIM, 72, 84, 121, false); ccs.push_back(separation477489056); SeparationConstraint *separation477489120 = new SeparationConstraint(vpsc::XDIM, 64, 89, 127, false); ccs.push_back(separation477489120); cola::Box margin = cola::Box(10, 30, 30, 60); //30 cola::Box padding = cola::Box(); // cola::Box(10, 30, 30, 60); //10 ConstrainedFDLayout alg(rs, es, defaultEdgeLength, eLengths); RootCluster *cluster476902600 = new RootCluster(); cluster476902600->addChildNode(0); cluster476902600->addChildNode(1); cluster476902600->addChildNode(2); cluster476902600->addChildNode(3); cluster476902600->addChildNode(4); cluster476902600->addChildNode(5); cluster476902600->addChildNode(6); cluster476902600->addChildNode(7); cluster476902600->addChildNode(8); cluster476902600->addChildNode(9); cluster476902600->addChildNode(10); cluster476902600->addChildNode(11); cluster476902600->addChildNode(12); cluster476902600->addChildNode(13); cluster476902600->addChildNode(14); cluster476902600->addChildNode(15); cluster476902600->addChildNode(16); cluster476902600->addChildNode(17); cluster476902600->addChildNode(18); cluster476902600->addChildNode(19); cluster476902600->addChildNode(20); cluster476902600->addChildNode(21); cluster476902600->addChildNode(22); cluster476902600->addChildNode(23); cluster476902600->addChildNode(24); cluster476902600->addChildNode(25); cluster476902600->addChildNode(26); cluster476902600->addChildNode(27); cluster476902600->addChildNode(28); cluster476902600->addChildNode(29); cluster476902600->addChildNode(30); RectangularCluster *cluster417213744 = new RectangularCluster(); cluster417213744->setMargin(margin); cluster417213744->setPadding(padding); cluster417213744->addChildNode(59); cluster417213744->addChildNode(60); cluster417213744->addChildNode(61); cluster417213744->addChildNode(62); cluster417213744->addChildNode(63); cluster417213744->addChildNode(64); cluster417213744->addChildNode(65); cluster417213744->addChildNode(66); cluster417213744->addChildNode(67); cluster417213744->addChildNode(89); cluster417213744->addChildNode(90); cluster417213744->addChildNode(91); RectangularCluster *cluster417215984 = new RectangularCluster(); cluster417215984->setMargin(margin); cluster417215984->setPadding(padding); cluster417215984->addChildNode(31); cluster417215984->addChildNode(32); cluster417215984->addChildNode(33); cluster417215984->addChildNode(34); cluster417215984->addChildNode(35); cluster417215984->addChildNode(36); cluster417215984->addChildNode(37); cluster417215984->addChildNode(38); cluster417215984->addChildNode(39); cluster417215984->addChildNode(40); cluster417215984->addChildNode(41); cluster417215984->addChildNode(42); cluster417215984->addChildNode(43); cluster417215984->addChildNode(44); cluster417215984->addChildNode(45); cluster417215984->addChildNode(46); cluster417215984->addChildNode(47); cluster417215984->addChildNode(48); cluster417215984->addChildNode(49); cluster417215984->addChildNode(50); cluster417215984->addChildNode(51); cluster417215984->addChildNode(52); cluster417215984->addChildNode(53); cluster417215984->addChildNode(54); cluster417215984->addChildNode(55); cluster417215984->addChildNode(56); cluster417215984->addChildNode(57); cluster417215984->addChildNode(58); cluster417213744->addChildCluster(cluster417215984); RectangularCluster *cluster417215760 = new RectangularCluster(); cluster417215760->setMargin(margin); cluster417215760->setPadding(padding); cluster417215760->addChildNode(68); cluster417215760->addChildNode(69); cluster417215760->addChildNode(70); cluster417215760->addChildNode(71); cluster417215760->addChildNode(72); cluster417215760->addChildNode(73); cluster417215760->addChildNode(74); cluster417215760->addChildNode(75); cluster417215760->addChildNode(76); cluster417215760->addChildNode(77); cluster417215760->addChildNode(78); cluster417215760->addChildNode(79); cluster417215760->addChildNode(80); cluster417215760->addChildNode(81); cluster417215760->addChildNode(82); cluster417215760->addChildNode(83); cluster417215760->addChildNode(84); cluster417215760->addChildNode(85); cluster417215760->addChildNode(86); cluster417215760->addChildNode(87); cluster417215760->addChildNode(88); cluster417213744->addChildCluster(cluster417215760); cluster476902600->addChildCluster(cluster417213744); alg.setClusterHierarchy(cluster476902600); alg.setConstraints(ccs); UnsatisfiableConstraintInfos unsatisfiableX, unsatisfiableY; alg.setUnsatisfiableConstraintInfo(&unsatisfiableX, &unsatisfiableY); // rect-43 and associated port rects. cola::NodeIndexes nonOverlapExemptGroup; nonOverlapExemptGroup.push_back(44); nonOverlapExemptGroup.push_back(45); nonOverlapExemptGroup.push_back(46); nonOverlapExemptGroup.push_back(47); nonOverlapExemptGroup.push_back(48); nonOverlapExemptGroup.push_back(43); std::vector nonOverlapExemptGroupList; nonOverlapExemptGroupList.push_back(nonOverlapExemptGroup); alg.setAvoidNodeOverlaps(true, nonOverlapExemptGroupList); //alg.makeFeasible(); alg.run(); alg.outputInstanceToSVG("rectangularClusters01"); for (size_t i = 0; i < unsatisfiableX.size(); ++i) { printf("%s\n", unsatisfiableX[i]->toString().c_str()); } for (size_t i = 0; i < unsatisfiableY.size(); ++i) { printf("%s\n", unsatisfiableY[i]->toString().c_str()); } alg.freeAssociatedObjects(); return (unsatisfiableX.empty() && unsatisfiableY.empty()) ? 0 : 1; };