From: Chris M. <cv...@cv...> - 2008-09-27 07:31:51
|
Modified file emc2/src/hal/classicladder/edit.c Full file: <http://cvs.linuxcnc.org/cvs/emc2/src/hal/classicladder/edit.c?rev=1.11> Difference: <http://cvs.linuxcnc.org/cvs/emc2/src/hal/classicladder/edit.c.diff?r1=1.10;r2=1.11> Branch: TRUNK Log: revision 1.11 date: 2008/09/27 07:31:44; author: cmorley; state: Exp; lines: +10 -6 start of fix for erasing connection-with-top with eraser element --- edit.c 2008/08/07 07:49:56 1.10 +++ edit.c 2008/09/27 07:31:44 1.11 @@ -1117,6 +1117,7 @@ if ( ConvertDoublesToRungCoor( x, y, &RungX, &RungY ) && (EditDatas.NumElementSelectedInToolBar!=-1) ) { + //printf ("x:%f Y:%f xx%f yy%f rungX=%d rungY=%d\n",x,y,x-RungX*InfosGene->BlockWidth, y-RungY*InfosGene->BlockHeight, RungX, RungY); /* check for "unusable" blocks */ if (EditDatas.NumElementSelectedInToolBar==EDIT_POINTER || EditDatas.NumElementSelectedInToolBar==EDIT_ERASER ) CheckForBlocksOfBigElement( &EditDatas.Rung, &RungX,&RungY ); @@ -1137,12 +1138,15 @@ { /* the blocks other than the "alive" are now free... */ CleanForBigElement(EditDatas.Rung.Element[RungX][RungY].Type,RungX,RungY,ELE_FREE); - EditDatas.Rung.Element[RungX][RungY].DynamicOutput = 0; -//v0.7.124 EditDatas.Rung.Element[RungX][RungY].Type = NumElement; - EditDatas.Rung.Element[RungX][RungY].Type = ELE_FREE; - } - else - { + EditDatas.Rung.Element[RungX][RungY].DynamicOutput = 0; + if (((x-RungX*InfosGene->BlockWidth)>=0) && ((x-RungX*InfosGene->BlockWidth)<=15) + && (EditDatas.Rung.Element[RungX][RungY].ConnectedWithTop)) + { + EditDatas.Rung.Element[RungX][RungY].ConnectedWithTop = 0; + }else{ + EditDatas.Rung.Element[RungX][RungY].Type = ELE_FREE; + } + }else{ if (VerifyRulesForElement(NumElement,RungX,RungY)) { /* the blocks other than the "alive" are now free... */ |