doctorraz Posted February 11 Report Share Posted February 11 9 часов назад, aerohost сказал: Почему два dll файла не могу работать вместе Я жэж ванга))) Вызовы команд дублируются Quote Link to comment Share on other sites More sharing options...
kpblc Posted February 11 Report Share Posted February 11 А что, тут тоже, как и в лиспе, проходит переопределение команд? Как-то на C# не сталкивался с тем, чтобы было несколько определений одной и той же команды. Возможно, потому, что у меня каждая команда обычно в своем классе болтается. Quote Link to comment Share on other sites More sharing options...
doctorraz Posted February 11 Report Share Posted February 11 29 минут назад, kpblc сказал: что, тут тоже, как и в лиспе, проходит переопределение команд? Ээ не так выразился.. CommandMethod Если во второй длл дубликат вызова не загрузится Правда в ком строке пишет про косяк Quote Link to comment Share on other sites More sharing options...
aerohost Posted February 11 Author Report Share Posted February 11 (edited) 46 минут назад, doctorraz сказал: Я жэж ванга))) Вызовы команд дублируются Вадно, приведу прямой пример, имеется плагин SmartLine ( можно найти легко в интернете) когда я подключаю свой этот Dll файл, SmartLine перестает работать, мне быть хоть понять куда начать рыть .... если даже и предположить что у меня какие то дефольные настройки, то в том то плагине явно нет Edited February 11 by aerohost Quote Link to comment Share on other sites More sharing options...
doctorraz Posted February 11 Report Share Posted February 11 (edited) 19 минут назад, aerohost сказал: SmartLine перестает работать Хех. У наны поиск путей как то хитрокриво сделан, смартлайн после запуска чужой длл не находит свои модули На пооектант орг я автору писал про эту багу и даже дал ссылку на решение (PlotSpds жэж свои модули не теряет))) Но автор заморачиваться не стал.. Короче положи дллки в один каталог с pacage, поправь в нем пути и все заработает Вот https://www.proektant.org/index.php/topic,22575.msg310394.html#msg310394 Edited February 11 by doctorraz 1 1 Quote Link to comment Share on other sites More sharing options...
kpblc Posted February 11 Report Share Posted February 11 Есть другой вариант - отталкиваться от пути к загружаемой dll. Кстати, решение мне подсказал именно Александр Ривилис. Все там же - на adn-cis. Quote Link to comment Share on other sites More sharing options...
doctorraz Posted February 12 Report Share Posted February 12 9 часов назад, kpblc сказал: отталкиваться от пути к загружаемой dll У себя так и сделал, подгружаю динамически недостающие сборки. Даже ссылку на adn-cis дал, но автору smartline, чтото там не понравилось.. Quote Link to comment Share on other sites More sharing options...
aerohost Posted February 15 Author Report Share Posted February 15 (edited) Товарищи, почему у меня везде listPoint[j].Point == listLine.StartPoint: равно False ? Числа одинаковые Тип тоже( поинт 3д). Почему у меня выдает что они не равны ? куда копать, не могу понять... Спойлер int[,] CreatMatrixSmej(List<Edge>listLine,List<Vertex> listPoint,Editor ed) //Узел Узел { int rows = listPoint.Count(); int columns = listPoint.Count(); int[,] matrix = new int[rows, columns]; for (int j = 0; j < columns; j++) { for (int i = 0; i < columns; i++) { if((i !=j) & (i+1 <columns-1)&(j+1 <columns-1) ) { ed.WriteMessage("\n(i !=j) & (j+1 <columns-1) & (i+1 <columns-1): " + ((i !=j) & (j+1 <columns-1) & (i+1 <columns-1)).ToString()); ed.WriteMessage("*****************"); ed.WriteMessage("\n listPoint[j].Point == listLine[i].StartPoint: "+(listPoint[j].Point == listLine[i].StartPoint)+ "\n listPoint[j++].Point == listLine[i].EndPoint: " + (listPoint[j++].Point == listLine[i].EndPoint)); //ed.WriteMessage("*****************"); ed.WriteMessage("\n listPoint[j].Point: "+ listPoint[j].Point+ "\n listLine[i].StartPoint: "+ listLine[i].StartPoint+"\n listPoint[j+1].Point: "+ listPoint[j+1].Point +"\n listLine[i].EndPoint"+ listLine[i].EndPoint); ed.WriteMessage("*****************"); if ((listPoint[j].Point == listLine[i].StartPoint) & (listPoint[j++].Point == listLine[i].EndPoint) ) { ed.WriteMessage("listPoint.Count() :" +listPoint.Count()+"\n listLine.Count() "+ listLine.Count()); ed.WriteMessage("i: "+i +"\n j:"+j + "\n [i,j] "+ matrix[j, i] ); matrix[j, i] = 1; ed.WriteMessage("\n [i,j] next "+ matrix[j, i] ); } } } } return matrix; } Спойлер (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36095,9507879997,28108,4275179223,0) listLine[i].StartPoint: (36095,9507879997,28108,4275179223,0) listPoint[j+1].Point: (36103,2787362933,28117,3446598217,0) listLine[i].EndPoint(36103,2787362933,28117,3446598217,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36098,4228669421,28129,5284774664,0) listLine[i].StartPoint: (36098,4228669421,28129,5284774664,0) listPoint[j+1].Point: (36078,5579468692,28129,5284774664,0) listLine[i].EndPoint(36078,5579468692,28129,5284774664,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36064,2552044167,28119,7284502304,0) listLine[i].StartPoint: (36064,2552044167,28119,7284502304,0) listPoint[j+1].Point: (36050,45014676,28124,3220449435,0) listLine[i].EndPoint(36050,45014676,28124,3220449435,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36105,2041359278,28109,3732068788,0) listLine[i].StartPoint: (36105,2041359278,28109,3732068788,0) listPoint[j+1].Point: (36121,6223617791,28106,7400951857,0) listLine[i].EndPoint(36121,6223617791,28106,7400951857,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36122,3968063947,28095,7429816438,0) listLine[i].StartPoint: (36122,3968063947,28095,7429816438,0) listPoint[j+1].Point: (36111,4895699234,28098,3626250853,0) listLine[i].EndPoint(36111,4895699234,28098,3626250853,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36110,1605814678,28125,0169881145,0) listLine[i].StartPoint: (36110,1605814678,28125,0169881145,0) listPoint[j+1].Point: (36126,423918396,28125,4816548839,0) listLine[i].EndPoint(36126,423918396,28125,4816548839,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36135,2525870142,28114,0198745726,0) listLine[i].StartPoint: (36135,2525870142,28114,0198745726,0) listPoint[j+1].Point: (36152,290368558,28114,9492081114,0) listLine[i].EndPoint(36152,290368558,28114,9492081114,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36173,9748177956,28097,9114265675,0) listLine[i].StartPoint: (36098,4228669421,28129,5284774664,0) listPoint[j+1].Point: (36119,9916031869,28144,5141714632,0) listLine[i].EndPoint(36119,9916031869,28144,5141714632,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36140,8381851256,28145,1573946553,0) listLine[i].StartPoint: (36140,8381851256,28145,1573946553,0) listPoint[j+1].Point: (36149,6697241275,28131,3841911688,0) listLine[i].EndPoint(36149,6697241275,28131,3841911688,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36169,2305918336,28133,3471078314,0) listLine[i].StartPoint: (36169,2305918336,28133,3471078314,0) listPoint[j+1].Point: (36170,9007334047,28147,9011986649,0) listLine[i].EndPoint(36170,9007334047,28147,9011986649,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36070,0542930115,28144,257237998,0) listLine[i].StartPoint: (36070,0542930115,28144,257237998,0) listPoint[j+1].Point: (36058,3207104959,28144,257237998,0) listLine[i].EndPoint(36058,3207104959,28144,257237998,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36045,1578514801,28136,6576578019,0) listLine[i].StartPoint: (36045,1578514801,28136,6576578019,0) listPoint[j+1].Point: (36031,0123417505,28136,1948054001,0) listLine[i].EndPoint(36031,0123417505,28136,1948054001,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36032,2514531355,28124,3544077212,0) listLine[i].StartPoint: (36032,2514531355,28124,3544077212,0) listPoint[j+1].Point: (36022,0632039699,28118,6407274459,0) listLine[i].EndPoint(36022,0632039699,28118,6407274459,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36019,0693163796,28125,9544853958,0) listLine[i].StartPoint: (36064,2552044167,28119,7284502304,0) listPoint[j+1].Point: (36054,9849083827,28101,8873706467,0) listLine[i].EndPoint(36054,9849083827,28101,8873706467,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36044,0359187033,28084,0445654777,0) listLine[i].StartPoint: (36044,0359187033,28084,0445654777,0) listPoint[j+1].Point: (36027,3079150057,28072,5827851664,0) listLine[i].EndPoint(36027,3079150057,28072,5827851664,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36034,2030709043,28093,8349023576,0) listLine[i].StartPoint: (36034,2030709043,28093,8349023576,0) listPoint[j+1].Point: (36045,7146123487,28116,3734859514,0) listLine[i].EndPoint(36045,7146123487,28116,3734859514,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36138,4522685956,28159,8307813153,0) listLine[i].StartPoint: (36138,4522685956,28159,8307813153,0) listPoint[j+1].Point: (36123,182402803,28166,9885309056,0) listLine[i].EndPoint(36123,182402803,28166,9885309056,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36130,6980398728,28155,5361315612,0) listLine[i].StartPoint: (36149,6697241275,28131,3841911688,0) listPoint[j+1].Point: (36153,2844266565,28143,3758292744,0) listLine[i].EndPoint(36153,2844266565,28143,3758292744,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36074,6642387269,28163,0629332326,0) listLine[i].StartPoint: (36074,6642387269,28163,0629332326,0) listPoint[j+1].Point: (36085,6394547653,28163,0629332326,0) listLine[i].EndPoint(36085,6394547653,28163,0629332326,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36096,2567833242,28165,9260330687,0) listLine[i].StartPoint: (36045,1578514801,28136,6576578019,0) listPoint[j+1].Point: (36036,4446489003,28151,7493673666,0) listLine[i].EndPoint(36036,4446489003,28151,7493673666,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36013,8233672099,28157,8139168664,0) listLine[i].StartPoint: (36013,8233672099,28157,8139168664,0) listPoint[j+1].Point: (36009,8750585883,28150,97524573,0) listLine[i].EndPoint(36009,8750585883,28150,97524573,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36022,8935806966,28135,6225768786,0) listLine[i].StartPoint: (36022,8935806966,28135,6225768786,0) listPoint[j+1].Point: (36013,4453563859,28136,2421325711,0) listLine[i].EndPoint(36013,4453563859,28136,2421325711,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36000,5895757665,28128,807464261,0) listLine[i].StartPoint: (36000,5895757665,28128,807464261,0) listPoint[j+1].Point: (35994,3940188415,28127,8781307223,0) listLine[i].EndPoint(35994,3940188415,28127,8781307223,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (35990,2120179171,28134,848132263,0) listLine[i].StartPoint: (36054,9849083827,28101,8873706467,0) listPoint[j+1].Point: (36054,9849083827,28084,7087716301,0) listLine[i].EndPoint(36054,9849083827,28084,7087716301,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36086,2138244984,28060,8236233449,0) listLine[i].StartPoint: (36086,2138244984,28060,8236233449,0) listPoint[j+1].Point: (36086,4933484143,28040,5581394385,0) listLine[i].EndPoint(36086,4933484143,28040,5581394385,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36066,0881025499,28024,4855142712,0) listLine[i].StartPoint: (36066,0881025499,28024,4855142712,0) listPoint[j+1].Point: (36047,7532528583,28060,6563380857,0) listLine[i].EndPoint(36047,7532528583,28060,6563380857,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36021,8868026963,28055,0803368531,0) listLine[i].StartPoint: (36034,2030709043,28093,8349023576,0) listPoint[j+1].Point: (36001,2385540491,28071,1660082351,0) listLine[i].EndPoint(36001,2385540491,28071,1660082351,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (35986,1442625877,28084,8626801168,0) listLine[i].StartPoint: (35986,1442625877,28084,8626801168,0) listPoint[j+1].Point: (35970,2113993785,28068,3707690756,0) listLine[i].EndPoint(35970,2113993785,28068,3707690756,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36020,513874813,28097,5927208925,0) listLine[i].StartPoint: (36138,4522685956,28159,8307813153,0) listPoint[j+1].Point: (36161,0634705017,28169,1538071546,0) listLine[i].EndPoint(36161,0634705017,28169,1538071546,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36157,7666987194,28178,5770990043,0) listLine[i].StartPoint: (36157,7666987194,28178,5770990043,0) listPoint[j+1].Point: (36142,3745615869,28183,4857159755,0) listLine[i].EndPoint(36142,3745615869,28183,4857159755,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36130,564274763,28186,4382876814,0) listLine[i].StartPoint: (36123,182402803,28166,9885309056,0) listPoint[j+1].Point: (36114,568672771,28181,9079489638,0) listLine[i].EndPoint(36114,568672771,28181,9079489638,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36114,7277537946,28155,5361315612,0) listLine[i].StartPoint: (36063,7287879641,28176,2384945153,0) listPoint[j+1].Point: (36063,7287879641,28176,2384945153,0) listLine[i].EndPoint(36074,6642387269,28163,0629332326,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36079,0284777132,28184,8277940236,0) listLine[i].StartPoint: (36036,4446489003,28151,7493673666,0) listPoint[j+1].Point: (36036,4446489003,28182,6804691466,0) listLine[i].EndPoint(36036,4446489003,28182,6804691466,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36143,2367033525,28054,813859152,0) listLine[i].StartPoint: (36086,4933484143,28040,5581394385,0) listPoint[j+1].Point: (36113,3276443457,28045,0305220937,0) listLine[i].EndPoint(36113,3276443457,28045,0305220937,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36129,5400314709,28034,6881372035,0) listLine[i].StartPoint: (36066,0881025499,28024,4855142712,0) listPoint[j+1].Point: (36077,8281070198,28001,9838390371,0) listLine[i].EndPoint(36077,8281070198,28001,9838390371,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36115,5638356733,27994,7162172224,0) listLine[i].StartPoint: (36115,5638356733,27994,7162172224,0) listPoint[j+1].Point: (36134,0124141261,28023,2276566495,0) listLine[i].EndPoint(36134,0124141261,28023,2276566495,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36011,5809389393,28036,3652806992,0) listLine[i].StartPoint: (36011,5809389393,28036,3652806992,0) listPoint[j+1].Point: (35991,4552169908,28029,6567067163,0) listLine[i].EndPoint(35991,4552169908,28029,6567067163,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (35985,8647386717,28052,4379058664,0) listLine[i].StartPoint: (35986,1442625877,28084,8626801168,0) listPoint[j+1].Point: (35960,4280623201,28095,6243508809,0) listLine[i].EndPoint(35960,4280623201,28095,6243508809,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (35952,8809165895,28084,3036322849,0) listLine[i].StartPoint: (36020,513874813,28097,5927208925,0) listPoint[j+1].Point: (35969,6757092408,28107,204598118,0) listLine[i].EndPoint(35969,6757092408,28107,204598118,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36244,7342960099,28206,2373133375,0) listLine[i].StartPoint: (36157,7666987194,28178,5770990043,0) listPoint[j+1].Point: (36174,6485628778,28186,0885853054,0) listLine[i].EndPoint(36174,6485628778,28186,0885853054,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36182,9666296583,28193,5828936306,0) listLine[i].StartPoint: (36182,9666296583,28193,5828936306,0) listPoint[j+1].Point: (36181,4194507441,28205,3977144294,0) listLine[i].EndPoint(36181,4194507441,28205,3977144294,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36165,8070089743,28211,4457774574,0) listLine[i].StartPoint: (36130,564274763,28186,4382876814,0) listPoint[j+1].Point: (36140,192351444,28221,9217108437,0) listLine[i].EndPoint(36140,192351444,28221,9217108437,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36097,6871828063,28222,7946864241,0) listLine[i].StartPoint: (36036,4446489003,28182,6804691466,0) listPoint[j+1].Point: (36014,1395214434,28198,4266185266,0) listLine[i].EndPoint(36014,1395214434,28198,4266185266,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36157,492423066,28069,9081506134,0) listLine[i].StartPoint: (36113,3276443457,28045,0305220937,0) listPoint[j+1].Point: (36123,3905053199,28047,2667134213,0) listLine[i].EndPoint(36123,3905053199,28047,2667134213,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (36066,9266742977,27983,5352605843,0) listLine[i].StartPoint: (36115,5638356733,27994,7162172224,0) listPoint[j+1].Point: (36124,2290770678,27976,5471626855,0) listLine[i].EndPoint(36124,2290770678,27976,5471626855,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (35984,187595176,28010,6490804316,0) listLine[i].StartPoint: (35985,8647386717,28052,4379058664,0) listPoint[j+1].Point: (35970,2113993785,28035,5267089513,0) listLine[i].EndPoint(35970,2113993785,28035,5267089513,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (35950,854727669,28109,8678486126,0) listLine[i].StartPoint: (35950,854727669,28109,8678486126,0) listPoint[j+1].Point: (35929,8593757598,28112,973669901,0) listLine[i].EndPoint(35929,8593757598,28112,973669901,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (35941,9794838673,28102,0534009478,0) listLine[i].StartPoint: (35952,8809165895,28084,3036322849,0) listPoint[j+1].Point: (35932,196146809,28074,9395811005,0) listLine[i].EndPoint(35932,196146809,28074,9395811005,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (35955,9556796649,28123,0176946442,0) listLine[i].StartPoint: (36066,9266742977,27983,5352605843,0) listPoint[j+1].Point: (36027,2773427456,27963,8204848046,0) listLine[i].EndPoint(36027,2773427456,27963,8204848046,0) ***************** (i !=j) & (j+1 <columns-1) & (i+1 <columns-1): True ***************** listPoint[j].Point == listLine[i].StartPoint: False listPoint[j++].Point == listLine[i].EndPoint: False listPoint[j].Point: (35938,1829768126,28131,6085976311,0) listLine[i].StartPoint: (35929,8593757598,28112,973669901,0) listPoint[j+1].Point: (35914,7029678726,28102,1654118175,0) listLine[i].EndPoint(35914,7029678726,28102,1654118175,0) ***************** Edited February 15 by aerohost Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted February 15 Report Share Posted February 15 (edited) Спойлер ,,,+ (listPoint[j++].Point == listLine.EndPoint)); ... В диагностическом отладочном сообщении безвозвратно изменяется значение индекса. Кроме того, для наглядности неплохо бы в лог выводить и текущие значения индексов i и j. Возможно, сразу будет видно, "правильные" индексы сравниваются или нет . Насколько понимаю, выражение (listPoint[j].Point == listLine.StartPoint) сравнивает не значения в структурах, а указатели. Т.к. инициализация массивов listPoint и listLine в приведенном фрагменте кода отсутствует, то вполне возможно что это выражение (сравнение указателей на точки) ложно, хотя сами указатели могут указывать на одинаковые значения координат. Edited February 15 by EdwardSt 1 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted February 15 Report Share Posted February 15 (edited) Point double? Почитай про сравнение чисел с плавающей запятой 1/3==0,33(3);false добавлено через 2 минуты https://stackoverflow.com/questions/1398753/comparing-double-values-in-c-sharp https://learn.microsoft.com/ru-ru/dotnet/api/system.double.compareto?view=net-7.0 Edited February 15 by doctorraz 1 Quote Link to comment Share on other sites More sharing options...
kpblc Posted February 15 Report Share Posted February 15 Насколько я помню, у Point2d и Point3d есть методы Equals и EqualsTo. 3 1 Quote Link to comment Share on other sites More sharing options...
aerohost Posted February 15 Author Report Share Posted February 15 Всем спасибо, ошибка была в логике. Прикладываю рабочий вариант кода( проверка ребра принадлежит ли двум вершинам) Спойлер int[,] CreatMatrixSmej(List<Edge>listLine,List<Vertex> listPoint,Editor ed) //Узел Узел { int rows = listPoint.Count(); int columns = listPoint.Count(); int[,] matrix = new int[rows, columns]; for (int j = 0; j < columns; j++) { for (int i = 0; i < columns; i++) { if( (i+1 <=columns-1)&(j+1 <=columns-1) ) { if (listPoint[j].Point == listLine[i].StartPoint ) { for(int k = 0; k < columns;k++ ) { if(listPoint[k].Point==listLine[i].EndPoint) {matrix[j, k] = 1; ed.WriteMessage("\n i: "+i+"\n j: "+j+"\n k : " +k); ed.WriteMessage("!!!!!!!!!!!!!"); } /*ed.WriteMessage("\n K: "+k +"\n i:" + i + "\n j: "+j); ed.WriteMessage((listPoint[j].Point == listLine[i].StartPoint).ToString()); ed.WriteMessage((listPoint[k].Point == listLine[i].EndPoint).ToString()); ed.WriteMessage("listPoint[j].Point==listLine[i].StartPoint: " + (listPoint[j].Point==listLine[i].StartPoint).ToString()); ed.WriteMessage("\n listPoint[k].Point == listLine[i].EndPoint: "+(listPoint[k].Point == listLine[i].EndPoint).ToString()); Thread.Sleep(TimeSpan.FromSeconds(0.5));*/ } } } } } return matrix; } 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.