📄 dlgpinjie.cpp
字号:
CFileDialog dlgs(FALSE,"txt",NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"txt File(*.txt)|*.txt", NULL );
if(dlgs.DoModal()==IDOK){
CString strSaveName= dlgs.GetPathName();
strcat( save, strSaveName);
}
ofstream outstuf; //建立输出文件流对象
outstuf.open(save,ios::out); //连接文件,指定打开方式
int NumberOfPoint=0;
//-----------------------------------------------------------------------------
/* for(i=0;i<Linetemp.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
NumberOfPoint=NumberOfPoint+Linetemp.m_LineList2[i]->m_PointList2.GetSize();
}
outstuf<<"total number of line:"<<" "<<Linetemp.m_LineList2.GetSize()<<" "<<"total number of point:"<<" "<<NumberOfPoint<<endl;
for( i=0;i<Linetemp.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
outstuf<<endl;
outstuf <<"line"<<" "<<i+1<<" "<<"point"<<" "<<Linetemp.m_LineList2[i]->m_PointList2.GetSize()<<endl;
for( j=0;j<Linetemp.m_LineList2[i]->m_PointList2.GetSize();j++)
{
outstuf <<Linetemp.m_LineList2[i]->m_PointList2[j]->pt3.x <<" "<<Linetemp.m_LineList2[i]->m_PointList2[j]->pt3.y<<" "<<Linetemp.m_LineList2[i]->m_PointList2[j]->pt3.z<<"\n";
}
}*/
//-----------------------------------------------------------------------------
/* NumberOfPoint=0;
for(i=0;i<Lines.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
NumberOfPoint=NumberOfPoint+Lines.m_LineList2[i]->m_PointList2.GetSize();
}
outstuf<<"total number of line:"<<" "<<Lines.m_LineList2.GetSize()<<" "<<"total number of point:"<<" "<<NumberOfPoint<<endl;
for( i=0;i<Line.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
outstuf<<endl;
outstuf <<"line"<<" "<<i+1<<" "<<"point"<<" "<<Lines.m_LineList2[i]->m_PointList2.GetSize()<<endl;
for( j=0;j<Lines.m_LineList2[i]->m_PointList2.GetSize();j++)
{
outstuf <<Lines.m_LineList2[i]->m_PointList2[j]->pt3.x <<" "<<Lines.m_LineList2[i]->m_PointList2[j]->pt3.y<<" "<<Lines.m_LineList2[i]->m_PointList2[j]->pt3.z<<"\n";
}
}*/
//----------------------
for(i=0;i<Line.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
NumberOfPoint=NumberOfPoint+Line.m_LineList2[i]->m_PointList2.GetSize();
}
outstuf<<"total number of line:"<<" "<<Line.m_LineList2.GetSize()<<" "<<"total number of point:"<<" "<<NumberOfPoint<<endl;
for( i=0;i<Line.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
outstuf<<endl;
outstuf <<"line"<<" "<<i+1<<" "<<"point"<<" "<<Line.m_LineList2[i]->m_PointList2.GetSize()<<endl;
for( j=0;j<Line.m_LineList2[i]->m_PointList2.GetSize();j++)
{
outstuf <<Line.m_LineList2[i]->m_PointList2[j]->pt3.x <<" "<<Line.m_LineList2[i]->m_PointList2[j]->pt3.y<<" "<<Line.m_LineList2[i]->m_PointList2[j]->pt3.z<<"\n";
}
}
outstuf.close(); //关闭文件
MessageBox("转换已成功谢谢使用!","Thanks!",MB_ICONSTOP);
}
void CDLGpinjie::OnButPinjieAngle()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
double buchang,buchang1[100];
buchang=m_buchang;
int i,j,k;
i=0;j=0;k=0;
//---------------------------------------------------------------
CALine Line,Lines,Line1,Line2,Linetemp;
CString strName = m_open1;
Line.LoadTXTFile(strName);
//------------------------------------------------------------------------
CString strName2 = m_open2;
Line2.LoadTXTFile(strName2);
//----------------------------------------------------------------------
//--------------------------------------------------------------------
CLine* line=NULL;
CPointtest* point=NULL;
/* for(i=0;i<Line1.m_LineList2.GetSize();i++)
{
line=new CLine();
for(j=0;j<Line1.m_LineList2[i]->m_PointList2.GetSize();j++)
{
point=new CPointtest();
point->pt3.x=Line1.m_LineList2[i]->m_PointList2[j]->pt3.x;
point->pt3.y=Line1.m_LineList2[i]->m_PointList2[j]->pt3.y;
point->pt3.z=Line1.m_LineList2[i]->m_PointList2[j]->pt3.z;
line->m_PointList2.Add(point);
}
Line.Add(line);
}
for(i=0;i<Line2.m_LineList2.GetSize();i++)
{
line=new CLine();
for(j=0;j<Line2.m_LineList2[i]->m_PointList2.GetSize();j++)
{
point=new CPointtest();
point->pt3.x=Line2.m_LineList2[i]->m_PointList2[j]->pt3.x;
point->pt3.y=Line2.m_LineList2[i]->m_PointList2[j]->pt3.y;
point->pt3.z=Line2.m_LineList2[i]->m_PointList2[j]->pt3.z;
line->m_PointList2.Add(point);
}
Line.Add(line);
}
*/
//-------------------------------------------------------------------
for(i=0;i<Line.m_LineList2.GetSize()-1;i++)
{
double px1,px2,py1,py2,pz1,pz2,length;
px1=Line.m_LineList2[i+1]->m_PointList2[0]->pt3.x;
px2=Line.m_LineList2[i]->m_PointList2[0]->pt3.x;
py1=Line.m_LineList2[i+1]->m_PointList2[0]->pt3.y;
py2=Line.m_LineList2[i]->m_PointList2[0]->pt3.y;
pz1=Line.m_LineList2[i+1]->m_PointList2[0]->pt3.z;
pz2=Line.m_LineList2[i]->m_PointList2[0]->pt3.z;
length=sqrt((px1-px2)*(px1-px2)+(py1-py2)*(py1-py2)+(pz1-pz2)*(pz1-pz2));
buchang1[i]=length;
if(length<=buchang)
{
line=new CLine();
for(j=0;j<Line.m_LineList2[i]->m_PointList2.GetSize();j++)
{
point=new CPointtest();
point->pt3.x=Line.m_LineList2[i]->m_PointList2[j]->pt3.x;
point->pt3.y=Line.m_LineList2[i]->m_PointList2[j]->pt3.y;
point->pt3.z=Line.m_LineList2[i]->m_PointList2[j]->pt3.z;
line->m_PointList2.Add(point);
}
Linetemp.Add(line);
line=new CLine();
for(j=0;j<Line.m_LineList2[i+1]->m_PointList2.GetSize();j++)
{
point=new CPointtest();
point->pt3.x=Line.m_LineList2[i+1]->m_PointList2[j]->pt3.x;
point->pt3.y=Line.m_LineList2[i+1]->m_PointList2[j]->pt3.y;
point->pt3.z=Line.m_LineList2[i+1]->m_PointList2[j]->pt3.z;
line->m_PointList2.Add(point);
}
Linetemp.Add(line);
}
}
for(i=0;i<Linetemp.m_LineList2.GetSize();i++)
for(j=0;j<Line2.m_LineList2.GetSize();j++)
if(Linetemp.m_LineList2[i]->m_PointList2[0]->pt3.x==Line2.m_LineList2[j]->m_PointList2[0]->pt3.x)
{ //-------
line=new CLine();
for(j=0;j<Linetemp.m_LineList2[i]->m_PointList2.GetSize();j++)
{
point=new CPointtest();
point->pt3.x=Linetemp.m_LineList2[i]->m_PointList2[j]->pt3.x;
point->pt3.y=Linetemp.m_LineList2[i]->m_PointList2[j]->pt3.y;
point->pt3.z=Linetemp.m_LineList2[i]->m_PointList2[j]->pt3.z;
line->m_PointList2.Add(point);
}
Lines.Add(line);
}
//--------
// Lines.Add(Linetemp.m_LineList2[i]);
for(i=0;i<Lines.m_LineList2.GetSize();i++)
for(j=0;j<Line.m_LineList2.GetSize();j++)
if(Lines.m_LineList2[i]->m_PointList2[0]->pt3.x==Line.m_LineList2[j]->m_PointList2[0]->pt3.x)
Line.Del(j);
//-------------------------------------------------------------------
//-------------------------------------------------------------------
char save[200]="";
CFileDialog dlgs(FALSE,"txt",NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"txt File(*.txt)|*.txt", NULL );
if(dlgs.DoModal()==IDOK){
CString strSaveName= dlgs.GetPathName();
strcat( save, strSaveName);
}
ofstream outstuf; //建立输出文件流对象
outstuf.open(save,ios::out); //连接文件,指定打开方式
int NumberOfPoint=0;
//-----------------------------------------------------------------------------
/* for(i=0;i<Linetemp.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
NumberOfPoint=NumberOfPoint+Linetemp.m_LineList2[i]->m_PointList2.GetSize();
}
outstuf<<"total number of line:"<<" "<<Linetemp.m_LineList2.GetSize()<<" "<<"total number of point:"<<" "<<NumberOfPoint<<endl;
for( i=0;i<Linetemp.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
outstuf<<endl;
outstuf <<"line"<<" "<<i+1<<" "<<"point"<<" "<<Linetemp.m_LineList2[i]->m_PointList2.GetSize()<<endl;
for( j=0;j<Linetemp.m_LineList2[i]->m_PointList2.GetSize();j++)
{
outstuf <<Linetemp.m_LineList2[i]->m_PointList2[j]->pt3.x <<" "<<Linetemp.m_LineList2[i]->m_PointList2[j]->pt3.y<<" "<<Linetemp.m_LineList2[i]->m_PointList2[j]->pt3.z<<"\n";
}
}*/
//-----------------------------------------------------------------------------
/* NumberOfPoint=0;
for(i=0;i<Lines.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
NumberOfPoint=NumberOfPoint+Lines.m_LineList2[i]->m_PointList2.GetSize();
}
outstuf<<"total number of line:"<<" "<<Lines.m_LineList2.GetSize()<<" "<<"total number of point:"<<" "<<NumberOfPoint<<endl;
for( i=0;i<Line.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
outstuf<<endl;
outstuf <<"line"<<" "<<i+1<<" "<<"point"<<" "<<Lines.m_LineList2[i]->m_PointList2.GetSize()<<endl;
for( j=0;j<Lines.m_LineList2[i]->m_PointList2.GetSize();j++)
{
outstuf <<Lines.m_LineList2[i]->m_PointList2[j]->pt3.x <<" "<<Lines.m_LineList2[i]->m_PointList2[j]->pt3.y<<" "<<Lines.m_LineList2[i]->m_PointList2[j]->pt3.z<<"\n";
}
}*/
//----------------------
/* for(i=0;i<26;i++)
{
outstuf<<buchang1[i]<<endl;
}*/
for(i=0;i<Line.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
NumberOfPoint=NumberOfPoint+Line.m_LineList2[i]->m_PointList2.GetSize();
}
outstuf<<"total number of line:"<<" "<<Line.m_LineList2.GetSize()<<" "<<"total number of point:"<<" "<<NumberOfPoint<<endl;
for( i=0;i<Line.m_LineList2.GetSize();i++) //数组m[i][j]初始化
{
outstuf<<endl;
outstuf <<"line"<<" "<<i+1<<" "<<"point"<<" "<<Line.m_LineList2[i]->m_PointList2.GetSize()<<endl;
for( j=0;j<Line.m_LineList2[i]->m_PointList2.GetSize();j++)
{
outstuf <<Line.m_LineList2[i]->m_PointList2[j]->pt3.x <<" "<<Line.m_LineList2[i]->m_PointList2[j]->pt3.y<<" "<<Line.m_LineList2[i]->m_PointList2[j]->pt3.z<<"\n";
}
}
outstuf.close(); //关闭文件
MessageBox("转换已成功谢谢使用!","Thanks!",MB_ICONSTOP);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -