Jump to content

C#. Пример проекта.


Recommended Posts

9 часов назад, aerohost сказал:

Почему два dll файла не могу работать вместе

Я жэж ванга)))

Вызовы команд дублируются

Link to comment
Share on other sites

А что, тут тоже, как и в лиспе, проходит переопределение команд?

Как-то на C# не сталкивался с тем, чтобы было несколько определений одной и той же команды. Возможно, потому, что у меня каждая команда обычно в своем классе болтается.

Link to comment
Share on other sites

29 минут назад, kpblc сказал:

что, тут тоже, как и в лиспе, проходит переопределение команд?

Ээ не так выразился.. CommandMethod 

Если во второй длл дубликат вызова не загрузится

Правда в ком строке пишет про косяк

Link to comment
Share on other sites

46 минут назад, doctorraz сказал:

Я жэж ванга)))

Вызовы команд дублируются

Вадно, приведу прямой пример, имеется плагин SmartLine ( можно найти легко в интернете) когда я подключаю свой этот Dll файл, SmartLine перестает работать, мне быть хоть понять куда начать рыть .... если даже и предположить что у меня какие то дефольные настройки, то в том то плагине явно нет 

Edited by aerohost
Link to comment
Share on other sites

19 минут назад, aerohost сказал:

SmartLine перестает работать

Хех. 

У наны поиск путей как то хитрокриво сделан, смартлайн после запуска чужой длл не находит свои модули

На пооектант орг я автору писал про эту багу и даже дал ссылку на решение (PlotSpds жэж свои модули не теряет)))

Но автор заморачиваться не стал..

Короче положи дллки в один каталог с pacage, поправь в нем пути и все заработает

Вот https://www.proektant.org/index.php/topic,22575.msg310394.html#msg310394

Edited by doctorraz
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Есть другой вариант - отталкиваться от пути к загружаемой dll. Кстати, решение мне подсказал именно Александр Ривилис. Все там же - на adn-cis.

Link to comment
Share on other sites

9 часов назад, kpblc сказал:

отталкиваться от пути к загружаемой dll

У себя так и сделал, подгружаю динамически недостающие сборки.

Даже ссылку на adn-cis дал, но автору smartline, чтото там не понравилось..

Link to comment
Share on other sites

Товарищи, почему у меня везде  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 by aerohost
Link to comment
Share on other sites

Спойлер

,,,+ (listPoint[j++].Point == listLine.EndPoint)); ...

В диагностическом отладочном сообщении безвозвратно изменяется значение индекса.

 

Кроме того, для наглядности неплохо бы в лог выводить и текущие значения индексов i и j.

Возможно, сразу будет видно, "правильные" индексы сравниваются или нет .

 

Насколько понимаю,  выражение (listPoint[j].Point == listLine.StartPoint) сравнивает не значения в структурах, а указатели.

Т.к. инициализация массивов listPoint и listLine в приведенном фрагменте кода отсутствует, то вполне возможно что это выражение (сравнение указателей на точки) ложно, хотя сами указатели могут указывать на одинаковые значения координат. 

Edited by EdwardSt
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

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 by doctorraz
  • Like 1
Link to comment
Share on other sites

Всем спасибо, ошибка была в логике.

 

Прикладываю рабочий вариант кода( проверка ребра принадлежит ли двум вершинам)

image.thumb.png.5ff2158f5f15aa09cf5d8b0be9f7182b.png

 

Спойлер
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;
        }

 

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Tell a friend

    Love Официальный форум компании Нанософт Разработка? Tell a friend!
×
×
  • Create New...