?? simuflatdoc.cpp
字號:
// SimuFlatDoc.cpp : implementation of the CSimuFlatDoc class
//
#include "stdafx.h"
#include "SimuFlat.h"
#include "SimuFlatDoc.h"
#include "SimuFlatView.h"
#include "PIDControl.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSimuFlatDoc
IMPLEMENT_DYNCREATE(CSimuFlatDoc, CDocument)
BEGIN_MESSAGE_MAP(CSimuFlatDoc, CDocument)
//{{AFX_MSG_MAP(CSimuFlatDoc)
ON_COMMAND(ID_PID, OnPid)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSimuFlatDoc construction/destruction
CSimuFlatDoc::CSimuFlatDoc()
{
// TODO: add one-time construction code here
for(int i=0;i<1000;i++)
{
pv[i]=0;
cv[i]=0;
no[i]=0;
}
newpv=0;
newcv=0;
newsp=0;
maxpv=minpv=maxcv=mincv=0;
Auto_Man=FALSE;
}
CSimuFlatDoc::~CSimuFlatDoc()
{
}
BOOL CSimuFlatDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
// TODO: add reinitialization code here
// (SDI documents will reuse this document)
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CSimuFlatDoc serialization
void CSimuFlatDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
}
void CSimuFlatDoc::CaculData()
{
int i=999;
if(Auto_Man)
{
SetSP(newsp);
SetPV(pv[0]);
GetCV(newcv);
}
else
{
newcv=cv[0];
}
while(i>0)
{
cv[i]=cv[i-1];
i--;
}
cv[0]=newcv;
newno=((float)rand()/(float)RAND_MAX)*(float)2-(float)1;
newpv=(float)(2*pv[0]-1.2*pv[1]+0.2*pv[2]+cv[0]-0.5*cv[1]-0.5*cv[2]+newno-0.6*no[0]+0.1*no[1]);
maxpv=minpv=newpv;
maxcv=mincv=newcv;
i=999;
while(i>0)
{
int a=i-1;
pv[i]=pv[a];
//cv[i]=cv[a];
no[i]=no[a];
if(pv[a]>maxpv)
maxpv=pv[a];
else if(pv[a]<minpv)
minpv=pv[a];
if(cv[a]>maxcv)
maxcv=cv[a];
else if(cv[a]<mincv)
mincv=cv[a];
i=a;
}
pv[0]=newpv;
cv[0]=newcv;
no[0]=newno;
UpdateAllViews(NULL);
}
/////////////////////////////////////////////////////////////////////////////
// CSimuFlatDoc diagnostics
#ifdef _DEBUG
void CSimuFlatDoc::AssertValid() const
{
CDocument::AssertValid();
}
void CSimuFlatDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CSimuFlatDoc commands
void CSimuFlatDoc::OnPid()
{
// TODO: Add your command handler code here
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -