node.cpp

来自「故障诊断工作涉及的领域相当广泛」· C++ 代码 · 共 1,504 行 · 第 1/3 页

CPP
1,504
字号
	{	temp=CPoint(center.x-lth*scale*3/2,center.y+(lth*2/(incnt+1)*(i+1)-lth)*scale);
		incenter[i]=rspt+(temp-rspt)*g_scale;
		temp=CPoint(incenter[i].x+lth/6*scale,incenter[i].y);
		pDC->MoveTo((temp-rspt)*g_scale+rspt+offset);//左面
		temp=CPoint(incenter[i].x+lth/2*scale,incenter[i].y);
		pDC->LineTo((temp-rspt)*g_scale+rspt+offset);
		dipan.left=((temp-rspt)*g_scale+rspt+offset).x;
		temp=CPoint(incenter[i].x-lth/6,incenter[i].y-lth/6);
		temp1=CPoint(incenter[i].x+lth/6,incenter[i].y+lth/6);
		pDC->Ellipse(CRect((temp-rspt)*g_scale+rspt+offset,(temp1-rspt)*g_scale+rspt+offset));	
		area.left=((temp-rspt)*g_scale+rspt+offset).x-2;
	}
	delete pPen1;
	pPen1=new CPen;
	pPen1->CreatePen(0,2,RGB(50,255,50));
	pDC->SelectObject(pPen1);
	for(i=0;i<outcnt;i++)
	{	temp=CPoint(center.x+3*lth*scale/2,center.y+(lth*2/(outcnt+1)*(i+1)-lth)*scale);
		outcenter[i]=rspt+(temp-rspt)*g_scale;
		temp=CPoint(outcenter[i].x-lth/6*scale,outcenter[i].y);
		pDC->MoveTo(rspt+(temp-rspt)*g_scale+offset);//右面
		temp=CPoint(outcenter[i].x-lth/2*scale,outcenter[i].y);
		pDC->LineTo(rspt+(temp-rspt)*g_scale+offset);
		dipan.right=(rspt+(temp-rspt)*g_scale+offset).x;
		temp=CPoint(outcenter[i].x-lth/6,outcenter[i].y-lth/6);
		temp1=CPoint(outcenter[i].x+lth/6,outcenter[i].y+lth/6);	
		pDC->Ellipse(CRect((temp-rspt)*g_scale+rspt+offset,(temp1-rspt)*g_scale+rspt+offset));		
	area.right=((temp1-rspt)*g_scale+rspt+offset).x+2;
	}
	
	pPen1=new CPen;
	pPen1->CreatePen(0,2,RGB(255,50,50));
	pDC->SelectObject(pPen1);
	for(i=0;i<concnt;i++)
	{	temp=CPoint(center.x-lth*scale+lth*2/(concnt+1)*(i+1)*scale,center.y-lth*scale*3/2);
		concenter[i]=rspt+(temp-rspt)*g_scale;
		temp=CPoint(concenter[i].x,concenter[i].y+lth/6*scale);
		pDC->MoveTo(rspt+(temp-rspt)*g_scale+offset);//上面
		temp=CPoint(concenter[i].x,concenter[i].y+lth/2*scale);
		pDC->LineTo(rspt+(temp-rspt)*g_scale+offset);
		dipan.top=(rspt+(temp-rspt)*g_scale+offset).y;
		temp=CPoint(concenter[i].x-lth/6*scale,concenter[i].y-lth/6*scale);
		temp1=CPoint(concenter[i].x+lth/6*scale,concenter[i].y+lth/6*scale);
		pDC->Ellipse(CRect((temp-rspt)*g_scale+rspt+offset,(temp1-rspt)*g_scale+rspt+offset));	
		area.top=((temp-rspt)*g_scale+rspt+offset).y-2;
	}
	pPen1=new CPen;
	pPen1->CreatePen(0,2,RGB(255,50,05));
	pDC->SelectObject(pPen1);
	for(i=0;i<concnt;i++)
	{	temp=CPoint(center.x-lth*scale+lth*2/(concnt+1)*(i+1)*scale,center.y+lth*3*scale/2);
		concenter[i+5]=rspt+(temp-rspt)*g_scale;
		temp=CPoint(concenter[i+5].x,concenter[i+5].y-lth/6*scale);
		pDC->MoveTo(rspt+(temp-rspt)*g_scale+offset);//下面
		temp=CPoint(concenter[i+5].x,concenter[i+5].y-lth/2*scale);
		pDC->LineTo(rspt+(temp-rspt)*g_scale+offset);
		dipan.bottom=(rspt+(temp-rspt)*g_scale+offset).y;
		temp=CPoint(concenter[i+5].x-lth/6*scale,concenter[i+5].y-lth/6*scale);
		temp1=CPoint(concenter[i+5].x+lth/6*scale,concenter[i+5].y+lth/6*scale);
		pDC->Ellipse(CRect((temp-rspt)*g_scale+rspt+offset,(temp1-rspt)*g_scale+rspt+offset));
	area.bottom=((temp1-rspt)*g_scale+rspt+offset).y+2;
	}
	delete pPen1;
	pDC->SelectObject(pNewPen);	
	pDC->Rectangle(&dipan);
	pDC->MoveTo(area.left,area.top);
		pDC->LineTo(area.right,area.top);
		pDC->LineTo(area.right,area.bottom);
		pDC->LineTo(area.left,area.bottom);
		pDC->LineTo(area.left,area.top);
	delete pNewPen;
	center+=offset;
    pNewPen=new CPen;;
	pNewPen->CreatePen(0,1,RGB(255,255,255));
	pDC->SelectObject(pNewPen);	
		//int nDrawMode=pDC->SetROP2(R2_NOT);//设置R2_NOT的绘图方式
		pDC->MoveTo(dipan.left/2+dipan.right/2,dipan.top);
		pDC->LineTo(dipan.left/2+dipan.right/2,dipan.bottom);
		pDC->MoveTo(dipan.left,dipan.top/2+dipan.bottom/2);
		pDC->LineTo(dipan.right,dipan.top/2+dipan.bottom/2);//覆盖先前的光标线

	//	pDC->SetROP2(nDrawMode);
		
	delete pNewPen;
	*/
}

void node::renew_node(CDC *pDC, dpt pt)
{

}

void node::renew_graph(CDC *pDC, dpt pt)
{

}

BOOL node::is_snap(dpt point,BOOL bway)
{
	double r2=(area.right-area.left)*(area.right-area.left);
	double l2=(center.x-point.x)*(center.x-point.x)+(center.y-point.y)*(center.y-point.y);	
	if(bway)
	{
		r2/=4;
	}
	if(l2<=r2)
		return TRUE;
	else
		return FALSE;
}

void node::change()
{
//rspt.x=0;
//rspt.y=0;
CSize bag=CPoint(0,0);
//bag=CSize(0,0);		
		dpt temp,temp1;
		center=(center-rspt)*g_scale+rspt;
		if(incnt==0)
		{
			dipan.left=center.x-lth*scale*5/6*g_c_scale;
			area.left=center.x-lth*scale*g_c_scale-2;
		}
		if(outcnt==0)
		{dipan.right=center.x+lth*scale*5/6*g_c_scale;
			area.right=center.x+lth*scale*g_c_scale+2;
		}
		if(concnt==0)
		{dipan.bottom=center.y+lth*scale*5/6*g_c_scale;
		 dipan.top=center.y-lth*scale*5/6*g_c_scale;
			area.top=center.y-lth*scale*g_c_scale-2;
			area.bottom=center.y+lth*scale*g_c_scale+2;
		}
		double dbag=g_scale;
		g_scale=1;
		for(unsigned int i=0;i<incnt;i++)
	{	temp=dpt(center.x-lth*scale*3/2*g_c_scale,\
		center.y-lth*scale*g_c_scale+lth*2/(incnt+1)*(i+1)*scale*g_c_scale);
		incenter[i]=(temp-rspt)*g_scale+rspt;
		temp=dpt(incenter[i].x+lth/6*scale*g_c_scale,incenter[i].y);
		inleft[i]=(temp-rspt)*g_scale+rspt;	
		temp=dpt(incenter[i].x+lth/2*scale*g_c_scale,incenter[i].y);
		inright[i]=(temp-rspt)*g_scale+rspt;
		dipan.left=((temp-rspt)*g_scale+rspt).x;
		temp=dpt(incenter[i].x-lth/6*g_c_scale,incenter[i].y-lth/6*g_c_scale);
		temp1=dpt(incenter[i].x+lth/6*g_c_scale,incenter[i].y+lth/6*g_c_scale);
		inrect[i]=drec((temp-rspt)*g_scale+rspt,(temp1-rspt)*g_scale+rspt);			
		area.left=((temp-rspt)*g_scale+rspt).x-2;
		if(binfrosen!=NULL)
		{
			if(binfrosen[i]==TRUE)
				pptlist[i].scale(rspt,dbag);
		}
	}
		
	for(i=0;i<outcnt;i++)
	{	temp=dpt(center.x+3*lth*scale/2*g_c_scale,\
		center.y-lth*scale*g_c_scale+lth*2/(outcnt+1)*(i+1)*scale*g_c_scale);
		outcenter[i]=(temp-rspt)*g_scale+rspt;
		temp=dpt(outcenter[i].x-lth/6*scale*g_c_scale,outcenter[i].y);
		outleft[i]=(temp-rspt)*g_scale+rspt;		
		temp=dpt(outcenter[i].x-lth/2*scale*g_c_scale,outcenter[i].y);
		outright[i]=(temp-rspt)*g_scale+rspt;
		dipan.right=((temp-rspt)*g_scale+rspt).x;
		temp=dpt(outcenter[i].x-lth/6*g_c_scale,outcenter[i].y-lth/6*g_c_scale);
		temp1=dpt(outcenter[i].x+lth/6*g_c_scale,outcenter[i].y+lth/6*g_c_scale);
		outrect[i]=drec((temp-rspt)*g_scale+rspt,(temp1-rspt)*g_scale+rspt);		
		area.right=((temp1-rspt)*g_scale+rspt).x+2;
	}
	for(i=0;i<concnt;i++)
	{	temp=dpt(center.x-lth*scale*g_c_scale+lth*2/(concnt+1)*(i+1)*scale*g_c_scale,\
		center.y-lth*scale*3/2*g_c_scale);
		concenter[i]=(temp-rspt)*g_scale+rspt;
		temp=dpt(concenter[i].x,concenter[i].y+lth/6*scale*g_c_scale);
		contop[i]=(temp-rspt)*g_scale+rspt;//上面
		temp=dpt(concenter[i].x,concenter[i].y+lth/2*scale*g_c_scale);
		conbottom[i]=(temp-rspt)*g_scale+rspt;
		dipan.top=((temp-rspt)*g_scale+rspt).y;
		temp=dpt(concenter[i].x-lth/6*scale*g_c_scale,\
				concenter[i].y-lth/6*scale*g_c_scale);
		temp1=dpt(concenter[i].x+lth/6*scale*g_c_scale,\
			concenter[i].y+lth/6*scale*g_c_scale);
		conrect[i]=drec((temp-rspt)*g_scale+rspt,(temp1-rspt)*g_scale+rspt);
		area.top=((temp-rspt)*g_scale+rspt).y-2;
	}
	for(i=0;i<concnt;i++)
	{	temp=dpt(center.x-lth*scale*g_c_scale+lth*2/(concnt+1)*(i+1)*scale*g_c_scale,\
		center.y+lth*3*scale/2*g_c_scale);
		concenter[i+5]=(temp-rspt)*g_scale+rspt;
		temp=dpt(concenter[i+5].x,concenter[i+5].y-lth/6*scale*g_c_scale);
		contop[i+5]=(temp-rspt)*g_scale+rspt;//下面
		temp=dpt(concenter[i+5].x,concenter[i+5].y-lth/2*scale*g_c_scale);
		conbottom[i+5]=(temp-rspt)*g_scale+rspt;
		dipan.bottom=((temp-rspt)*g_scale+rspt).y;
		temp=dpt(concenter[i+5].x-lth/6*scale*g_c_scale,\
			concenter[i+5].y-lth/6*scale*g_c_scale);
		temp1=dpt(concenter[i+5].x+lth/6*scale*g_c_scale,
			concenter[i+5].y+lth/6*scale*g_c_scale);
		conrect[i+5]=drec((temp-rspt)*g_scale+rspt,(temp1-rspt)*g_scale+rspt);
		area.bottom=((temp1-rspt)*g_scale+rspt).y+2;
	}
g_scale=dbag;
/*
		for(unsigned int i=0;i<incnt;i++)
	{	//temp=CPoint(center.x-lth*scale*3/2,center.y+(lth*2/(incnt+1)*(i+1)-lth)*scale);
		//incenter[i]=rspt+(temp-rspt)*g_c_scale+offset
		incenter[i]=incenter[i]*g_c_scale;
		temp=CPoint(incenter[i].x+lth/6*scale*g_c_scale,incenter[i].y);
		inleft[i]=(temp-rspt)*g_c_scale+rspt+bag;		
		temp=CPoint(incenter[i].x+lth/2*scale*g_c_scale,incenter[i].y);
		inright[i]=(temp-rspt)*g_c_scale+rspt+bag;		
		dipan.left=((temp-rspt)*g_c_scale+rspt+bag).x;
		temp=CPoint(incenter[i].x-lth/6*scale*g_c_scale,incenter[i].y-lth/6*scale*g_c_scale);
		temp1=CPoint(incenter[i].x+lth/6*scale*g_c_scale,incenter[i].y+lth/6*scale*g_c_scale);
		inrect[i]=CRect((temp-rspt)*g_c_scale*scale+rspt,(temp1-rspt)*g_c_scale*scale+rspt);			
		area.left=((temp-rspt)*g_c_scale+rspt+bag).x-2;
	}
	for(i=0;i<outcnt;i++)
	{	//temp=CPoint(center.x+3*lth*scale/2,center.y+(lth*2/(outcnt+1)*(i+1)-lth)*scale);
		//outcenter[i]=rspt+(temp-rspt)*g_c_scale+offset;
		outcenter[i]=outcenter[i]*g_c_scale;
		temp=CPoint(outcenter[i].x-lth/6*scale*g_c_scale,outcenter[i].y);
		outleft[i]=rspt+(temp-rspt)*g_c_scale+bag;		
		temp=CPoint(outcenter[i].x-lth/2*scale*g_c_scale,outcenter[i].y);
		outright[i]=rspt+(temp-rspt)*g_c_scale+bag;
		dipan.right=(rspt+(temp-rspt)*g_c_scale+bag).x;
		temp=CPoint(outcenter[i].x-lth/6*g_c_scale*scale,outcenter[i].y-lth/6*g_c_scale*scale);
		temp1=CPoint(outcenter[i].x+lth/6*g_c_scale*scale,outcenter[i].y+lth/6*g_c_scale*scale);
		outrect[i]=CRect((temp-rspt)*g_c_scale+rspt+bag,(temp1-rspt)*g_c_scale+rspt+bag);		
		area.right=((temp1-rspt)*g_c_scale+rspt+bag).x+2;
	}
	for(i=0;i<concnt;i++)
	{	//temp=CPoint(center.x-lth*scale*g_c__scale+lth*2/(concnt+1)*(i+1)*scale*g_c__scale,\
		center.y-lth*scale*3/2*g_c__scale);
		//concenter[i]=rspt+(temp-rspt)*g_c_scale+offset;
		concenter[i]=concenter[i]*g_scale;
		temp=CPoint(concenter[i].x,concenter[i].y+lth/6*scale);
		contop[i]=rspt+(temp-rspt)*g_c_scale+bag;//上面
		temp=CPoint(concenter[i].x,concenter[i].y+lth/2*scale);
		conbottom[i]=rspt+(temp-rspt)*g_c_scale+bag;
		dipan.top=(rspt+(temp-rspt)*g_c_scale+bag).y;
		temp=CPoint(concenter[i].x-lth/6*scale,concenter[i].y-lth/6*scale);
		temp1=CPoint(concenter[i].x+lth/6*scale,concenter[i].y+lth/6*scale);
		conrect[i]=CRect((temp-rspt)*g_c_scale+rspt+bag,(temp1-rspt)*g_c_scale+rspt+bag);
		area.top=((temp-rspt)*g_c_scale+rspt+bag).y-2;
	}
	for(i=0;i<concnt;i++)
	{	temp=CPoint(center.x-lth*scale+lth*2/(concnt+1)*(i+1)*scale,center.y+lth*3*scale/2);
		concenter[i+5]=rspt+(temp-rspt)*g_c_scale+offset;
		//concenter[i+5]=concenter[i]*g_scale;
		temp=CPoint(concenter[i+5].x,concenter[i+5].y-lth/6*scale);
		contop[i+5]=rspt+(temp-rspt)*g_c_scale+bag;//下面
		temp=CPoint(concenter[i+5].x,concenter[i+5].y-lth/2*scale);
		conbottom[i+5]=rspt+(temp-rspt)*g_c_scale+bag;
		dipan.bottom=(rspt+(temp-rspt)*g_c_scale+bag).y;
		temp=CPoint(concenter[i+5].x-lth/6*scale,concenter[i+5].y-lth/6*scale);
		temp1=CPoint(concenter[i+5].x+lth/6*scale,concenter[i+5].y+lth/6*scale);
		conrect[i+5]=CRect((temp-rspt)*g_c_scale+rspt+bag,(temp1-rspt)*g_c_scale+rspt+bag);
		area.bottom=((temp1-rspt)*g_c_scale+rspt+bag).y+2;
	}
	*/
}

void node::move()
{
		CPoint temp,temp1;
		center+=offset;
		dipan.left+=offset.x;
		area.left+=offset.x;
		dipan.right+=offset.x;
		area.right+=offset.x;
		dipan.top+=offset.y;
		area.top+=offset.y;
		dipan.bottom+=offset.y;
		area.bottom+=offset.y;
	for(unsigned int i=0;i<incnt;i++)
	{
		incenter[i]+=offset;
		inleft[i]+=offset;		
		inright[i]+=offset;		
		inrect[i].left+=offset.x;
		inrect[i].right+=offset.x;
		inrect[i].top+=offset.y;
		inrect[i].bottom+=offset.y;
		if(binfrosen!=NULL)
		{
			if(binfrosen[i]==TRUE)
				pptlist[i].move(offset);
		}
	}
	for(i=0;i<outcnt;i++)
	{	outcenter[i]+=offset;
		outleft[i]+=offset;		
		outright[i]+=offset;		
		outrect[i].left+=offset.x;
		outrect[i].right+=offset.x;
		outrect[i].top+=offset.y;
		outrect[i].bottom+=offset.y;
	}
	for(i=0;i<concnt;i++)
	{	concenter[i]+=offset;
		contop[i]+=offset;		
		conbottom[i]+=offset;				
		conrect[i].left+=offset.x;
		conrect[i].right+=offset.x;
		conrect[i].top+=offset.y;
		conrect[i].bottom+=offset.y;
		concenter[i+5]+=offset;
		contop[i+5]+=offset;		
		conbottom[i+5]+=offset;		
		conrect[i+5].left+=offset.x;
		conrect[i+5].right+=offset.x;
		conrect[i+5].top+=offset.y;
		conrect[i+5].bottom+=offset.y;
	}
}

void node::see()
{
change();
move();
}

BOOL node::is_dipan_snap(dpt &pt)
{
	double r2=(dipan.right-dipan.left)*(dipan.right-dipan.left)/4;
	double l2=(center.x-pt.x)*(center.x-pt.x)+(center.y-pt.y)*(center.y-pt.y);
	if(l2<=r2)
		return TRUE;
	else
		return FALSE;
}
BOOL node::is_in_snap(dpt &pt,int* ppin)
{	
	double r2,llth;
	dpt bag;
	if(incnt>0)
	{	r2=(inrect[0].right/2-inrect[0].left/2)*(inrect[0].right/2-inrect[0].left/2);
	for(unsigned int i=0;i<incnt;i++)
	{	
		bag=dpt(inrect[i].left/2+inrect[i].right/2,inrect[i].top/2+inrect[i].bottom/2);
		llth=(pt.x-bag.x)*(pt.x-bag.x)+(pt.y-bag.y)*(pt.y-bag.y);
		if(llth<=r2)
		{*ppin=i;
			return TRUE;
		}
		
	}
	}
	return FALSE;
}
BOOL node::is_out_snap(dpt &pt,int* ppin)
{	
	double r2,llth;
	dpt bag;
	if(outcnt>0)
	{r2=(outrect[0].right/2-outrect[0].left/2)*(outrect[0].right/2-outrect[0].left/2);
	for(unsigned int i=0;i<outcnt;i++)
	{	
		bag=dpt(outrect[i].left/2+outrect[i].right/2,outrect[i].top/2+outrect[i].bottom/2);
		llth=(pt.x-bag.x)*(pt.x-bag.x)+(pt.y-bag.y)*(pt.y-bag.y);
		if(llth<=r2)
		{*ppin=incnt+i;
			return TRUE;
		}
		
	}
	}
	return FALSE;
}
BOOL node::is_con_snap(dpt &pt,int* ppin)
{	
	double r2,llth;
	dpt bag;
	if(concnt>0)
	r2=(conrect[0].right/2-conrect[0].left/2)*(conrect[0].right/2-conrect[0].left/2);
	for(unsigned int i=0;i<concnt;i++)
	{	
		bag=dpt(conrect[i].left/2+conrect[i].right/2,conrect[i].top/2+conrect[i].bottom/2);
		llth=(pt.x-bag.x)*(pt.x-bag.x)+(pt.y-bag.y)*(pt.y-bag.y);
		if(llth<=r2)
		{	*ppin=incnt+outcnt+i;
			return TRUE;
		}
		bag=dpt(conrect[i+5].left/2+conrect[i+5].right/2,conrect[i+5].top/2+conrect[i+5].bottom/2);
		llth=(pt.x-bag.x)*(pt.x-bag.x)+(pt.y-bag.y)*(pt.y-bag.y);
		if(llth<=r2)
		{	*ppin=incnt+outcnt+i+5;
			return 2;
		}
	}
	return FALSE;
}

void node::setdipan(CView *pv)
{	CDC* pDC=pv->GetDC();
	CPen* pNewPen=new CPen;
	pNewPen->CreatePen(0,5,RGB(255,0,0));	
	CPen* oldpen=pDC->SelectObject(pNewPen);
		pDC->Ellipse(dipan.left,dipan.top,dipan.right,dipan.bottom);
	pDC->SelectObject(oldpen);
}
void node::finishflag(CView *pv)
{static	char info0[]="节点级别: ";static	char info1[]=" 节点编号: ";
 char info2[]=" 模块: ";char info3[]=" 接口: ";unsigned cnt=0;
 char bag[128];memset(bag,0,128);
	memset(runinfo,0,1000);
	for(unsigned i=0;i<sizeof(info0)-1;i++)
		runinfo[cnt++]=info0[i];
	runinfo[cnt++]=grade+'0';
	for(i=0;i<sizeof(info1)-1;i++)
		runinfo[cnt++]=info1[i];
	gcvt(number,1,bag);
	for(i=0;bag[i]!=0;i++)
	runinfo[cnt++]=bag[i];
	memset(bag,0,128);
	for(i=0;i<sizeof(info2)-1;i++)
		runinfo[cnt++]=info2[i];
	if(pcmd!=NULL)
	{for(i=0;i<pcmd->name_length;i++)
		runinfo[cnt++]=pcmd->cmd_name[i];
	for(i=0;i<sizeof(info3)-1;i++)
		runinfo[cnt++]=info3[i];
	for(i=0;i<pcmd->conector[funcnumber].function_length;i++)
		runinfo[cnt++]=pcmd->conector[funcnumber].function_name[i];
	}
	pmv->node_info_out(runinfo);
	memset(runinfo,1,1000);
	CDC* pDC=pv->GetDC();
	CPen* pNewPen=new CPen;
	pNewPen->CreatePen(0,5,RGB(0,255,0));	
	CPen* oldpen=pDC->SelectObject(pNewPen);
		pDC->Ellipse(dipan.left,dipan.top,dipan.right,dipan.bottom);
	pDC->SelectObject(oldpen);
	


	
}
void node::move(dpt pt)
{
	center+=pt;
		dipan.left+=pt.x;
		area.left+=pt.x;
		dipan.right+=pt.x;
		area.right+=pt.x;
		dipan.top+=pt.y;
		area.top+=pt.y;
		dipan.bottom+=pt.y;
		area.bottom+=pt.y;
	for(unsigned int i=0;i<incnt;i++)
	{
		incenter[i]+=pt;
		inleft[i]+=pt;		
		inright[i]+=pt;		
		inrect[i].left+=pt.x;
		inrect[i].right+=pt.x;
		inrect[i].top+=pt.y;
		inrect[i].bottom+=pt.y;
		if(binfrosen!=NULL)
		{
			if(binfrosen[i]==TRUE)
				pptlist[i].move(pt);
		}
	}
	for(i=0;i<outcnt;i++)
	{	outcenter[i]+=pt;
		outleft[i]+=pt;		
		outright[i]+=pt;		
		outrect[i].left+=pt.x;
		outrect[i].right+=pt.x;
		outrect[i].top+=pt.y;
		outrect[i].bottom+=pt.y;
	}
	for(i=0;i<concnt;i++)
	{	concenter[i]+=pt;
		contop[i]+=pt;		
		conbottom[i]+=pt;				
		conrect[i].left+=pt.x;
		conrect[i].right+=pt.x;
		conrect[i].top+=pt.y;
		conrect[i].bottom+=pt.y;
		concenter[i+5]+=pt;
		contop[i+5]+=pt;		
		conbottom[i+5]+=pt;		
		conrect[i+5].left+=pt.x;
		conrect[i+5].right+=pt.x;
		conrect[i+5].top+=pt.y;
		conrect[i+5].bottom+=pt.y;
	}
}

void ptlist::clear()
{
	head=pdpt=tail=NULL;
}

void ptlist::draw(CDC *pDC)
{	if(head!=NULL)
		pDC->MoveTo(head->x,head->y);
	pdpt=head;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?