void FillLineMethod(CjsonObject obj_cjson,float Angle,unsigned int index) { int16 i,j,flag; int16 cnti,cntj,cntk; float miny,maxy,fillY,fpx,fpx_a,fpx_b; stLine fsline,nsline; int16 FillLoopNum; float FillStep; tOutNode inNode_a,inNode_b,outNode_a,outNode_b; tsingu Tsingu,Tsingua,Tsingub; stLine preline,curline; float fPolygonCos; uint16 maxpower=fpga_prev_power; vector } for(i=0;i //printf(\"maxy=%5.4f,miny=%5.4f\\n\FillLoopNum=(maxy-miny)/(FillStep); //printf(\"FillLoopNum=%d\\n\iVecfaddline.clear(); for(i=0;i<=FillLoopNum;i++) { fillY=miny+i*FillStep; //printf(\"fillY=%5.4f\\n\ iVecpx.clear(); iVecsingu.clear(); //printf(\"iVecfline.size=%d\\n\ for(j=0;j if((fillY>fsline.Y1)&&(fillY //printf(\"flag=%d,j=%d\\n\if(flag==1) { if(((fsline.X0-fsline.X1)<0.000001)&&((fsline.X0-fsline.X1)>-0.000001)) { iVecpx.push_back(fsline.X0); //printf(\"fsline.X0=%5.4f\\n\ } else { fpx=fsline.X0+(fillY-fsline.Y0)*(fsline.X1-fsline.X0)/(fsline.Y1-fsline.Y0); iVecpx.push_back(fpx); //printf(\"fpx=%5.4f\\n\ } } if(flag==2) { Tsingu.epx=fsline.X0; if(fsline.Y1>fillY) Tsingu.dir=1; else Tsingu.dir=-1; iVecsingu.push_back(Tsingu); //printf(\"Tsingu.epx=%5.4f,Tsingu.dir=%d\\n\ } if(flag==3) { Tsingu.epx=fsline.X1; if(fsline.Y0>fillY) Tsingu.dir=1; else Tsingu.dir=-1; iVecsingu.push_back(Tsingu); //printf(\"Tsingu.epx=%5.4f,Tsingu.dir=%d\\n\ } } if((iVecsingu.size())>1) { for(cnti=0;cnti } for(cnti=0;cnti } } if(cntk!=cnti) { fpx_a=iVecpx.at(cntk); fpx_b=iVecpx.at(cnti); iVecpx.insert(iVecpx.begin()+cntk,fpx_b); iVecpx.erase(iVecpx.begin()+cntk+1); iVecpx.insert(iVecpx.begin()+cnti,fpx_a); iVecpx.erase(iVecpx.begin()+cnti+1); } if((iVecpx.size())%2==1) { for(cnti=0;cnti fsline.X0=outNode_a.X; fsline.Y0=outNode_a.Y; fsline.X1=outNode_b.X; fsline.Y1=outNode_b.Y; iVecfaddline.push_back(fsline); } } else { for(cnti=0;cnti } SingleLineAdddelayInterpolate(curline,fPolygonCos,(uint16)(obj_cjson.j_shape.p_techpara.farray_para[index].fillarray_mp.pwr*maxpower/100)); } MoveCommand(COMMAND_MARK_EOP,(uint16)(obj_cjson.j_shape.p_techpara.farray_para[index].fillarray_mp.pwr*maxpower/100),CurrentX,CurrentY); CommandOutput(); iVecfaddline.clear(); } } iVecfline.clear(); iVecpx.clear(); iVecsingu.clear(); iVecwhline.clear(); } 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务