Line.cpp
资源名称:44757463.rar [点击查看]
上传用户:lj3531212
上传日期:2007-06-18
资源大小:346k
文件大小:18k
源码类别:
绘图程序
开发平台:
Visual C++
- // Line.cpp: implementation of the CLine class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "GraphSoft.h"
- #include "Line.h"
- #include "math.h"
- #ifdef _DEBUG
- #undef THIS_FILE
- static char THIS_FILE[]=__FILE__;
- #define new DEBUG_NEW
- #endif
- ///////////////////////////////////
- IMPLEMENT_SERIAL( CLine, CShape, 0 )
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- CLine::CLine():CShape()
- {
- m_flStartx=0;
- m_flStarty=0;
- m_flEndx=0;
- m_flEndy=0;
- //temp(start)
- m_flStartxTemp=0;
- m_flStartyTemp=0;
- m_flEndxTemp=0;
- m_flEndyTemp=0;
- //temp(end)
- }
- /////////////////////
- CLine::CLine(COLORREF color,int penWidth,float angle):CShape(color,penWidth,angle)
- {
- m_flStartx=0;
- m_flStarty=0;
- m_flEndx=0;
- m_flEndy=0;
- //temp(start)
- m_flStartxTemp=0;
- m_flStartyTemp=0;
- m_flEndxTemp=0;
- m_flEndyTemp=0;
- //temp(end)
- }
- ////////////////////
- CLine::CLine(CLine * const line):CShape(line)
- {
- m_flStartx=line->m_flStartx;
- m_flStarty=line->m_flStarty;
- m_flEndx=line->m_flEndx;
- m_flEndy=line->m_flEndy;
- //temp(start)
- m_flStartxTemp=line->m_flStartxTemp;
- m_flStartyTemp=line->m_flStartyTemp;
- m_flEndxTemp=line->m_flEndxTemp;
- m_flEndyTemp=line->m_flEndyTemp;
- //temp(end)
- }
- /////////////////////
- CLine::~CLine()
- {
- }
- ////////////////////////////////////////////////////////////
- //Operations
- /////////////////////////////////////////////////////////////
- void CLine::Serialize( CArchive& ar )
- {
- // serialization of Base class
- CShape::Serialize( ar ) ;
- if ( ar.IsLoading() ){
- ar>>m_flStartx;
- ar>>m_flStarty;
- ar>>m_flEndx;
- ar>>m_flEndy;
- //temp
- m_flStartxTemp=m_flStartx;
- m_flStartyTemp=m_flStarty;
- m_flEndxTemp=m_flEndx;
- m_flEndyTemp=m_flEndy;
- } else {
- ar<<m_flStartx;
- ar<<m_flStarty;
- ar<<m_flEndx;
- ar<<m_flEndy;
- }
- return ;
- }
- /////////////////////////////////////////////
- CShape* CLine::GetCopy()
- {
- CLine* pLine =new CLine(this);
- return pLine;
- }
- /////////////////////////////////////////////
- void CLine::Draw_DDALine(CPoint ptStart,CPoint ptEnd,CDC *pDC,int penWidth,COLORREF color)
- {
- //add code here ...
- }
- ////////////////////////////////////////////
- void CLine::Draw(CDC *pDC,COLORREF color,COLORREF fillColor,int penWidth)
- {
- CPen pen,*poldPen;
- pen.CreatePen(PS_SOLID,penWidth, color);
- poldPen=pDC->SelectObject(&pen);
- pDC->MoveTo(m_flStartxTemp,m_flStartyTemp);
- pDC->LineTo(m_flEndxTemp,m_flEndyTemp);
- if(GetDrawPointsFlag()==1){
- DrawPoints(pDC,color);
- }
- pDC->SelectObject(poldPen);
- //BresenhamLine(pDC,m_flStartx,m_flStarty,m_flEndx,m_flEndy,color);
- //Draw_DDALine(m_ptStart,m_ptEnd,pDC,penWidth,color);
- }
- ///////////////////////////////////////////
- void CLine::DrawPointsCutTo(CDC *pDC,COLORREF color,CFlRect m_rectFrom,CRect m_rectTo)
- {
- // if(!IsInRect(m_rectFrom)){
- // return;
- // }
- //得到移动扩缩后的关键数据
- float flStartx,flStarty,flEndx,flEndy;
- //移动
- float stepx=m_rectTo.left-m_rectFrom.left;
- float stepy=m_rectTo.top-m_rectFrom.top;
- flStartx=m_flStartxTemp+stepx;
- flStarty=m_flStartyTemp+stepy;
- flEndx=m_flEndxTemp+stepx;
- flEndy=m_flEndyTemp+stepy;
- //扩缩
- float cx,cy,flScale;
- cx=m_rectTo.left;
- cy=m_rectTo.top;
- if(m_rectFrom.Width()<0.01){
- m_rectFrom.right=m_rectFrom.left +1;
- }
- if(m_rectFrom.Height()<0.01){
- m_rectFrom.bottom=m_rectFrom.top +1;
- }
- // flScale=min((float)m_rectTo.Width()/m_rectFrom.Width(),(float)m_rectTo.Height()/m_rectFrom.Height());
- // flScale=((float)m_rectTo.Width()/m_rectFrom.Width()+(float)m_rectTo.Height()/m_rectFrom.Height())/2;
- flScale=(float)m_rectTo.Width()/m_rectFrom.Width();
- flStartx=(flStartx-cx)*flScale+cx;
- flStarty=(flStarty-cy)*flScale+cy;
- flEndx=(flEndx-cx)*flScale+cx;
- flEndy=(flEndy-cy)*flScale+cy;
- CPen pen,*poldPen;
- pen.CreatePen(PS_SOLID,1, color);
- poldPen=pDC->SelectObject(&pen);
- {
- pDC->MoveTo(flStartx,flStarty-1-GetPenWidth());
- pDC->LineTo(flStartx,flStarty+2+GetPenWidth());
- pDC->MoveTo(flStartx-1-GetPenWidth(),flStarty);
- pDC->LineTo(flStartx+2+GetPenWidth(),flStarty);
- pDC->MoveTo(flEndx,flEndy-1-GetPenWidth());
- pDC->LineTo(flEndx,flEndy+2+GetPenWidth());
- pDC->MoveTo(flEndx-1-GetPenWidth(),flEndy);
- pDC->LineTo(flEndx+2+GetPenWidth(),flEndy);
- }
- pDC->SelectObject(poldPen);
- return;
- }
- void CLine::DrawPoints(CDC *pDC,COLORREF color)
- {
- CPen pen,*poldPen;
- pen.CreatePen(PS_SOLID,1, color);
- poldPen=pDC->SelectObject(&pen);
- {
- pDC->MoveTo(m_flStartxTemp,m_flStartyTemp-1-GetPenWidth());
- pDC->LineTo(m_flStartxTemp,m_flStartyTemp+2+GetPenWidth());
- pDC->MoveTo(m_flStartxTemp-1-GetPenWidth(),m_flStartyTemp);
- pDC->LineTo(m_flStartxTemp+2+GetPenWidth(),m_flStartyTemp);
- pDC->MoveTo(m_flEndxTemp,m_flEndyTemp-1-GetPenWidth());
- pDC->LineTo(m_flEndxTemp,m_flEndyTemp+2+GetPenWidth());
- pDC->MoveTo(m_flEndxTemp-1-GetPenWidth(),m_flEndyTemp);
- pDC->LineTo(m_flEndxTemp+2+GetPenWidth(),m_flEndyTemp);
- }
- pDC->SelectObject(poldPen);
- return;
- }
- ////////////////////////////////////////////////
- /////////////////////////////////////////////
- //function------IsPointinRegion
- //return value
- //0----------out
- //1----------in
- /////////////////////////////////////////////
- int CLine::IsPointinRegion(POINT point)
- {
- //out
- if(point.x>m_flStartxTemp+1&&point.x>m_flEndxTemp+1)
- return 0;
- if(point.y>m_flStartyTemp+1&&point.y>m_flEndyTemp+1)
- return 0;
- if(point.x<m_flStartxTemp-1&&point.x<m_flEndxTemp-1)
- return 0;
- if(point.y<m_flStartyTemp-1&&point.y<m_flEndyTemp-1)
- return 0;
- return 1;
- }
- /////////////////////////////////////////////
- //function------IsInRect
- //return value
- //0----------out
- //1----------cut
- //2----------in
- /////////////////////////////////////////////
- int CLine::IsInRect(CRect rect)
- {
- int nRtVal=0;
- int nPtStartState,nPtEndState;
- nPtStartState = PtStateToRect(m_flStartxTemp,m_flStartyTemp, rect);
- nPtEndState = PtStateToRect(m_flEndxTemp,m_flEndyTemp,rect);
- if(nPtStartState == 0 && nPtEndState == 0){//in
- nRtVal=2;
- }
- else if(nPtStartState == 0 || nPtEndState == 0){//cut
- nRtVal=1;
- }
- else if((nPtStartState & nPtEndState) != 0){ //out
- nRtVal=0;
- }else{
- //中点对分法
- int nTemp;
- CPoint ptStart,ptEnd,ptTemp;
- ptStart.x=m_flStartxTemp;
- ptStart.y=m_flStartyTemp;
- ptEnd.x=m_flEndxTemp;
- ptEnd.y=m_flEndyTemp;
- ptTemp.x=(m_flStartxTemp+m_flEndxTemp)/2;
- ptTemp.y=(m_flStartyTemp+m_flEndyTemp)/2;
- nTemp=PtStateToRect(ptTemp,rect);
- while(1){
- if(nTemp == 0){
- nRtVal=1;
- break;
- }
- //TRACE("(%d,%d),(%d,%d),%d---%d---%dn",ptStart.x,ptStart.y,ptEnd.x,ptEnd.y,nPtStartState,nTemp,nPtEndState);
- if(nTemp&nPtStartState){
- ptStart.x=ptTemp.x;
- ptStart.y=ptTemp.y;
- nPtStartState=nTemp;
- ptTemp.x=(ptStart.x+ptEnd.x)/2;
- ptTemp.y=(ptStart.y+ptEnd.y)/2;
- nTemp=PtStateToRect(ptTemp,rect);
- }
- if(nTemp&nPtEndState){
- ptEnd.x=ptTemp.x;
- ptEnd.y=ptTemp.y;
- nPtEndState=nTemp;
- ptTemp.x=(ptStart.x+ptEnd.x)/2;
- ptTemp.y=(ptStart.y+ptEnd.y)/2;
- nTemp=PtStateToRect(ptTemp,rect);
- }
- if(fabs(ptStart.x-ptEnd.x)<=1 && fabs(ptStart.y-ptEnd.y)<=1){
- nRtVal=0;
- break;
- }
- }//while(1)
- }//else
- return nRtVal;
- }
- /////////////////////////////////////////////
- void CLine::CreatGraph(CArray<float,float>& flArrayX,CArray<float,float>& flArrayY,int nPenWidth,COLORREF color,COLORREF fillColor,SHAPE_FILLSTYLE nStyle)
- {
- if(flArrayX.GetSize()!=2)
- return;
- CShape::CreatGraph(flArrayX,flArrayY,nPenWidth,color,fillColor,nStyle);
- m_flStartxTemp=m_flStartx=flArrayX.GetAt(0);
- m_flStartyTemp=m_flStarty=flArrayY.GetAt(0);
- m_flEndxTemp=m_flEndx=flArrayX.GetAt(1);
- m_flEndyTemp=m_flEndy=flArrayY.GetAt(1);
- }
- /////////////////////////////////////////////
- void CLine::CreatGraph(CArray<CPoint,CPoint>& ptArray,int nPenWidth,COLORREF color,COLORREF fillColor,SHAPE_FILLSTYLE nStyle)
- {
- if(ptArray.GetSize()!=2)
- return;
- CShape::CreatGraph(ptArray,nPenWidth,color,fillColor,nStyle);
- m_flStartxTemp=m_flStartx=((CPoint)ptArray.GetAt(0)).x;
- m_flStartyTemp=m_flStarty=((CPoint)ptArray.GetAt(0)).y;
- m_flEndxTemp=m_flEndx=((CPoint)ptArray.GetAt(1)).x;
- m_flEndyTemp=m_flEndy=((CPoint)ptArray.GetAt(1)).y;
- }
- void CLine::SetPtData(CArray<float,float>& flArrayX,CArray<float,float>& flArrayY)
- {
- m_flStartxTemp=m_flStartx=flArrayX.GetAt(0);
- m_flStartyTemp=m_flStarty=flArrayY.GetAt(0);
- m_flEndxTemp=m_flEndx=flArrayX.GetAt(1);
- m_flEndyTemp=m_flEndy=flArrayY.GetAt(1);
- }
- void CLine::GetPtData(CArray<float,float>& flArrayX,CArray<float,float>& flArrayY)
- {
- flArrayX.RemoveAll();
- flArrayY.RemoveAll();
- flArrayX.Add(m_flStartxTemp);
- flArrayX.Add(m_flEndxTemp);
- flArrayY.Add(m_flStartyTemp);
- flArrayY.Add(m_flEndyTemp);
- }
- /////////////////////////////////////////////
- void CLine::DrawCutToRect(CDC *pDC,COLORREF color,COLORREF fillColor,int penWidth,CFlRect m_rectFrom,CRect m_rectTo)
- {
- // if(!IsInRect(m_rectFrom)){
- // return;
- // }
- //得到移动扩缩后的关键数据
- float flStartx,flStarty,flEndx,flEndy;
- //移动
- float stepx=m_rectTo.left-m_rectFrom.left;
- float stepy=m_rectTo.top-m_rectFrom.top;
- flStartx=m_flStartxTemp+stepx;
- flStarty=m_flStartyTemp+stepy;
- flEndx=m_flEndxTemp+stepx;
- flEndy=m_flEndyTemp+stepy;
- //扩缩
- float cx,cy,flScale;
- cx=m_rectTo.left;
- cy=m_rectTo.top;
- if(m_rectFrom.Width()<0.01){
- m_rectFrom.right=m_rectFrom.left +1;
- }
- if(m_rectFrom.Height()<0.01){
- m_rectFrom.bottom=m_rectFrom.top +1;
- }
- // flScale=min((float)m_rectTo.Width()/m_rectFrom.Width(),(float)m_rectTo.Height()/m_rectFrom.Height());
- // flScale=((float)m_rectTo.Width()/m_rectFrom.Width()+(float)m_rectTo.Height()/m_rectFrom.Height())/2;
- flScale=(float)m_rectTo.Width()/m_rectFrom.Width();
- flStartx=(flStartx-cx)*flScale+cx;
- flStarty=(flStarty-cy)*flScale+cy;
- flEndx=(flEndx-cx)*flScale+cx;
- flEndy=(flEndy-cy)*flScale+cy;
- CPen pen,*poldPen;
- pen.CreatePen(PS_SOLID,penWidth, color);
- poldPen=pDC->SelectObject(&pen);
- pDC->MoveTo(flStartx,flStarty);
- pDC->LineTo(flEndx,flEndy);
- if(GetDrawPointsFlag()==1){
- DrawPointsCutTo(pDC,color,m_rectFrom,m_rectTo);
- }
- pDC->SelectObject(poldPen);
- }
- /////////////////////////////////////////////
- void CLine::Move(CDC *pDC,float stepx,float stepy)
- {
- RefreshData(m_bModified);
- // CShape::Draw(pDC,RGB(255,255,255),RGB(255,255,255));
- m_flStartx+=stepx;
- m_flStarty+=stepy;
- m_flEndx+=stepx;
- m_flEndy+=stepy;
- m_flStartxTemp+=stepx;
- m_flStartyTemp+=stepy;
- m_flEndxTemp+=stepx;
- m_flEndyTemp+=stepy;
- //Draw(pDC);
- }
- void CLine::PartMove(CDC *pDC,float PrevX,float PrevY,float CurX,float CurY)
- {
- RefreshData(m_bModified);
- if(m_nSelectPtNum>-1){
- // CShape::Draw(pDC,RGB(255,255,255),RGB(255,255,255));
- if(m_nSelectPtNum==0){
- m_flStartx=CurX;
- m_flStarty=CurY;
- m_flStartxTemp=CurX;
- m_flStartyTemp=CurY;
- }else if(m_nSelectPtNum==1){
- m_flEndx=CurX;
- m_flEndy=CurY;
- m_flEndxTemp=CurX;
- m_flEndyTemp=CurY;
- }
- //CShape::Draw(pDC);
- }else if(m_nSelectLineNum>-1){
- // CShape::Draw(pDC,RGB(255,255,255),RGB(255,255,255));
- float stepx,stepy;
- stepx=CurX-PrevX;
- stepy=CurY-PrevY;
- m_flStartx+=stepx;
- m_flStarty+=stepy;
- m_flEndx+=stepx;
- m_flEndy+=stepy;
- m_flStartxTemp+=stepx;
- m_flStartyTemp+=stepy;
- m_flEndxTemp+=stepx;
- m_flEndyTemp+=stepy;
- //CShape::Draw(pDC);
- }
- }
- /////////////////////////////////////////////
- //function Rotate(...)
- //Rotate flAngle degrees around the ptCenter given as a param
- ////////////////////////////////////////////
- void CLine::Rotate(CDC *pDC,float CX,float CY,float flAngle)
- {
- //if(abs(flAngle-m_flAngleTemp)>0.05)
- {
- if(m_flScaleTemp!=1){
- RefreshData(TRUE);
- }
- // CShape::Draw(pDC,RGB(255,255,255),RGB(255,255,255));
- m_ptRotateCenterTemp=CPoint(CX,CY);
- m_flAngleTemp=flAngle;
- m_bModified=TRUE;
- m_flStartxTemp=((m_flStartx-CX)*cos(flAngle)-(m_flStarty-CY)*sin(flAngle))+CX;
- m_flStartyTemp=((m_flStarty-CY)*cos(flAngle)+(m_flStartx-CX)*sin(flAngle))+CY;
- m_flEndxTemp=((m_flEndx-CX)*cos(flAngle)-(m_flEndy-CY)*sin(flAngle))+CX;
- m_flEndyTemp=((m_flEndy-CY)*cos(flAngle)+(m_flEndx-CX)*sin(flAngle))+CY;
- // CShape::Draw(pDC);
- }
- }
- /////////////////////////////////////////////
- //function Magnify(...)
- //Magnify flScale times relative to the ptCenter given as a param
- ////////////////////////////////////////////
- void CLine::Magnify(CDC *pDC,float CX,float CY,float flScale)
- {
- if(m_flAngleTemp!=0){
- RefreshData(TRUE);
- }
- // CShape::Draw(pDC,RGB(255,255,255),RGB(255,255,255));
- m_ptMagnifyCenterTemp=CPoint(CX,CY);
- m_flScaleTemp=flScale;
- m_bModified=TRUE;
- m_flStartxTemp=(m_flStartx-CX)*flScale+CX;
- m_flStartyTemp=(m_flStarty-CY)*flScale+CY;
- m_flEndxTemp=(m_flEndx-CX)*flScale+CX;
- m_flEndyTemp=(m_flEndy-CY)*flScale+CY;
- // CShape::Draw(pDC);
- }
- void CLine::TopToBottom(CDC* pDC,CRect rect)
- {
- RefreshData(m_bModified);
- // CShape::Draw(pDC,RGB(255,255,255),RGB(255,255,255));
- m_flStarty=rect.top/1000.0+rect.bottom/1000.0-m_flStarty;
- m_flEndy=rect.top/1000.0+rect.bottom/1000.0-m_flEndy;
- m_flStartyTemp=rect.top/1000.0+rect.bottom/1000.0-m_flStartyTemp;
- m_flEndyTemp=rect.top/1000.0+rect.bottom/1000.0-m_flEndyTemp;
- // CShape::Draw(pDC);
- }
- void CLine::LeftToRight(CDC* pDC,CRect rect)
- {
- RefreshData(m_bModified);
- // CShape::Draw(pDC,RGB(255,255,255),RGB(255,255,255));
- m_flStartx=rect.left/1000.0+rect.right/1000.0-m_flStartx;
- m_flEndx=rect.left/1000.0+rect.right/1000.0-m_flEndx;
- m_flStartxTemp=rect.left/1000.0+rect.right/1000.0-m_flStartxTemp;
- m_flEndxTemp=rect.left/1000.0+rect.right/1000.0-m_flEndxTemp;
- // CShape::Draw(pDC);
- }
- ///
- /////////////////////////////////////////////
- //function------IsInRect
- //return value
- //0----------out
- //1----------cut
- //2----------in
- /////////////////////////////////////////////
- CRect CLine::GetBoundaryRect()
- {
- CRect rect;
- rect.left=1000*(m_flStartxTemp<=m_flEndxTemp?m_flStartxTemp:m_flEndxTemp);
- rect.right=1000*(m_flStartxTemp<=m_flEndxTemp?m_flEndxTemp:m_flStartxTemp);
- rect.top=1000*(m_flStartyTemp<=m_flEndyTemp?m_flStartyTemp:m_flEndyTemp);
- rect.bottom=1000*(m_flStartyTemp<=m_flEndyTemp?m_flEndyTemp:m_flStartyTemp);
- return rect;
- }
- ////////////////////////////////////////////////
- ////function RefreshData(...)
- ////刷新m_flStartx,m_flStarty,m_flEndx,m_flEndy
- ////////////////////////////////////////////////
- void CLine::RefreshData(bool bRefresh)
- {
- if(bRefresh){
- m_flStartx=m_flStartxTemp;
- m_flStarty=m_flStartyTemp;
- m_flEndx=m_flEndxTemp;
- m_flEndy=m_flEndyTemp;
- m_bModified=FALSE;
- m_ptMagnifyCenterTemp=CPoint(0,0);
- m_flScaleTemp=1;
- m_ptRotateCenterTemp=CPoint(0,0);
- m_flAngleTemp=0;
- }
- }
- //////////////////////////////////////////////
- CPoint CLine::GetCenterPoint()
- {
- CPoint ptRelVal;
- ptRelVal.x = (m_flStartx+m_flEndx)/2;
- ptRelVal.y = (m_flStarty+m_flEndy)/2;
- return ptRelVal;
- }
- //////
- int CLine::GetPtState(float flx,float fly,float flRate)
- {
- //on the out point
- if(IsPtInRect(m_flStartxTemp-3*flRate,m_flStartyTemp-3*flRate,m_flStartxTemp+3*flRate,m_flStartyTemp+3*flRate,flx,fly)){
- m_nSelectPtNum=0;
- m_nSelectLineNum=-1;
- return 1;
- }
- if(IsPtInRect(m_flEndxTemp-3*flRate,m_flEndyTemp-3*flRate,m_flEndxTemp+3*flRate,m_flEndyTemp+3*flRate,flx,fly)){
- m_nSelectPtNum=1;
- m_nSelectLineNum=-1;
- return 1;
- }
- //on the outline
- if(GetPtStateToBigLine(m_flStartxTemp,m_flStartyTemp,m_flEndxTemp,m_flEndyTemp,5*flRate,flx,fly)){
- m_nSelectPtNum=-1;
- m_nSelectLineNum=0;
- return 2;
- }
- m_nSelectPtNum=-1;
- m_nSelectLineNum=-1;
- return 0;
- }
- float CLine::GetSelectLineRate()
- {
- if(m_nSelectLineNum==-1)
- return 0;
- return -GetLineRate(m_flStartxTemp,m_flStartyTemp,m_flEndxTemp,m_flEndyTemp);
- }
- //////////////////////////////////////////////////////////////////////
- // MODULE :ExPort
- // ABSTRACT :Export to a txt file
- // FUNCTION :File->Export...
- // NOTE :
- // RETURN :
- // ARGUMENTS:
- // I/O TYPE NAME EXPLANATION
- // O FILE* outStream Out put File
- // CREATE : FNST)handwolf 2004-4-14
- // UPDATE :
- // :
- //////////////////////////////////////////////////////////////////////
- void CLine::ExPort(FILE* outStream)//增加导出txt功能时用
- {
- fprintf(outStream, " CLine n");
- CShape::ExPort(outStream);
- fprintf(outStream, " %f %f %f %f n",m_flStartxTemp,m_flStartyTemp, m_flEndxTemp, m_flEndyTemp);
- }
- //////////////////////////////////////////////////////////////////////
- // MODULE :ImPort
- // ABSTRACT :ImPort from a txt file
- // FUNCTION :File->ImPort...
- // NOTE :
- // RETURN :
- // ARGUMENTS:
- // I/O TYPE NAME EXPLANATION
- // I FILE* inStream in put File
- // CREATE : FNST)handwolf 2004-4-14
- // UPDATE :
- // :
- //////////////////////////////////////////////////////////////////////
- void CLine::ImPort(FILE* inStream)
- {
- CShape::ImPort(inStream);
- fscanf(inStream, "%f %f %f %f",&m_flStartx, &m_flStarty, &m_flEndx, &m_flEndy);
- m_flStartxTemp=m_flStartx;
- m_flStartyTemp=m_flStarty;
- m_flEndxTemp=m_flEndx;
- m_flEndyTemp=m_flEndy;
- }
- CString CLine::GetNameString()
- {
- CString str;
- str.LoadString(IDS_LINE);
- return str;
- }
- //////////////////////////////////////////////////////////////////////
- //End of File////////////////
- ////////////////////////////////////////////////////
- //end of file