Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Построение выпуклой оболочки в режиме реального времени / Source / Serialization
.cpp#include "stdafx.h"
#include "Serialization.h"
#include <vector>
namespace CHRealTimeSpace
{
using namespace std;
CSerialization::CSerialization()
{
Points.clear();
m_bIsFileCorrect = true;
m_iSizeOfPoints = 0;
}
void CSerialization::Serialize(CArchive& archive)
{
CObject::Serialize(archive);
if (archive.IsStoring()) // записать
{
m_iSizeOfPoints = Points.size();
archive << m_iSizeOfPoints;
for (int i = 0; i < m_iSizeOfPoints; i++)
{
archive << Points[i];
}
archive << m_bWasError;
}
else // считать
{
try
{
Points.clear();
CPoint point;
archive >> m_iSizeOfPoints;
for (int i = 0; i < m_iSizeOfPoints; i++)
{
archive >> point;
Points.push_back(point);
}
archive >> m_bWasError;
}
catch (...)
{
m_bIsFileCorrect = false;
AfxMessageBox("Ошибка загрузки файла с сохраненными данными!");
return;
}
}
}
IMPLEMENT_SERIAL(CSerialization, CObject, 0);
// селекторы
bool CSerialization::WasError()
{
return m_bWasError;
}
vector<CPoint> CSerialization::getPoints()
{
return this->Points;
}
// модификаторы
void CSerialization::SetParams(vector<CPoint> p, int wasErr)
{
this->Points = p;
this->m_bWasError = wasErr;
}
bool CSerialization::IsFileCorrect()
{
return m_bIsFileCorrect;
}
}
Соседние файлы в папке Source