Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритм Киркпатрика-Зайделя / Source / CH_KSDoc
.cpp#include "stdafx.h"
#include "CH_KS.h"
#include "CH_KSDoc.h"
IMPLEMENT_DYNCREATE(CCH_KSDoc, CDocument)
BEGIN_MESSAGE_MAP(CCH_KSDoc, CDocument)
//{{AFX_MSG_MAP(CCH_KSDoc)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_POINTS, OnUpdateIndicatorPoints)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
CCH_KSDoc::CCH_KSDoc()
{
}
CCH_KSDoc::~CCH_KSDoc()
{
}
BOOL CCH_KSDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
return TRUE;
}
void CCH_KSDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring()) {
ar << p.N();
for (int i = 0; i < p.N(); i++)
ar << p[i].x << p[i].y;
}
else
{
Tcoord x, y;
int t;
ar >> t;
if (t <= MAXPT && t > 0) {
p.Resize(t);
for (int i = 0; i < t; i++) {
ar >> x;
ar >> y;
if (!p.Check(TMyPoint(x, y), i)) {
p[i].x = x;
p[i].y = y;
}
else
AfxThrowFileException(CFileException::invalidFile);
}
}
else
AfxThrowFileException(CFileException::invalidFile);
}
}
void CCH_KSDoc::OnUpdateIndicatorPoints(CCmdUI *pCmdUI)
{
CString Points;
pCmdUI->Enable(TRUE);
Points.Format("P:%d", p.N());
pCmdUI->SetText(Points);
}
Соседние файлы в папке Source