📄 2difsdoc.cpp
字号:
// 2DIFSDoc.cpp : implementation of the CMy2DIFSDoc class
//
#include "stdafx.h"
#include "2DIFS.h"
#include "2DIFSDoc.h"
#include "SetDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMy2DIFSDoc
IMPLEMENT_DYNCREATE(CMy2DIFSDoc, CDocument)
BEGIN_MESSAGE_MAP(CMy2DIFSDoc, CDocument)
//{{AFX_MSG_MAP(CMy2DIFSDoc)
ON_COMMAND(ID_SET, OnSet)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMy2DIFSDoc construction/destruction
CMy2DIFSDoc::CMy2DIFSDoc()
{
// TODO: add one-time construction code here
}
CMy2DIFSDoc::~CMy2DIFSDoc()
{
}
BOOL CMy2DIFSDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
// TODO: add reinitialization code here
// (SDI documents will reuse this document)
m_N=4;
m_num=1;
/* float a[4]={0.5,0.85,0.2, -0.15};
float b[4]={0,0.04,-0.26,0.28};
float c[4]={0,-0.04,0.23,0.26};
float d[4]={0.16,0.85,0.22,0.24};
float e[4]={0,0,0,0};
float f[4]={0,1.6,1.6,0.44};
float p[4]={0.01,0.85,0.07,0.07};*/
a[0]=0.0;a[1]=0.85;a[2]=0.2;a[3]=-0.15;
b[0]=0;b[1]=0.04;b[2]=-0.26;b[3]=0.28;
c[0]=0;c[1]=-0.04;c[2]=0.23;c[3]=0.26;
d[0]=0.16;d[1]=0.85;d[2]=0.22;d[3]=0.24;
e[0]=0;e[1]=0;e[2]=0;e[3]=0;
f[0]=0;f[1]=1.6;f[2]=1.6;f[3]=0.44;
p[0]=0.01;p[1]=0.85;p[2]=0.07;p[3]=0.07;
stepx=15;
stepy=15;
totalsteps=32000;
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CMy2DIFSDoc serialization
void CMy2DIFSDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
ar<<m_N<<stepx<<stepy;
ar<<m_num;
for(int i=0;i<8;i++)
{
ar<<a[i]<<b[i]<<c[i]<<d[i]<<e[i]<<f[i]<<p[i];
}
}
else
{
// TODO: add loading code here
ar>>m_N>>stepx>>stepy;
ar>>m_num;
for(int i=0;i<8;i++)
{
ar>>a[i]>>b[i]>>c[i]>>d[i]>>e[i]>>f[i]>>p[i];
}
}
}
/////////////////////////////////////////////////////////////////////////////
// CMy2DIFSDoc diagnostics
#ifdef _DEBUG
void CMy2DIFSDoc::AssertValid() const
{
CDocument::AssertValid();
}
void CMy2DIFSDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMy2DIFSDoc commands
void CMy2DIFSDoc::OnSet()
{
// TODO: Add your command handler code here
CSetDlg setdlg;
setdlg.m_N=m_N;
setdlg.m_stepx=stepx;
setdlg.m_stepy=stepy;
setdlg.m_totalsteps=totalsteps;
for(int i=0;i<m_N;i++)
{
setdlg.a[i]=a[i];
setdlg.b[i]=b[i];
setdlg.c[i]=c[i];
setdlg.d[i]=d[i];
setdlg.e[i]=e[i];
setdlg.f[i]=f[i];
setdlg.p[i]=p[i];
}
if(setdlg.DoModal()==IDOK)
{
m_N=setdlg.m_N;
stepx=setdlg.m_stepx;
stepy=setdlg.m_stepy;
totalsteps=setdlg.m_totalsteps;
for(int i=0;i<m_N;i++)
{
a[i]= setdlg.a[i] ;
b[i]=setdlg.b[i] ;
c[i]= setdlg.c[i];
d[i]=setdlg.d[i] ;
e[i]=setdlg.e[i] ;
f[i]=setdlg.f[i] ;
p[i]=setdlg.p[i];
}
}
}
BOOL CMy2DIFSDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE;
// TODO: Add your specialized creation code here
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -