83 lines
1.7 KiB
C++
83 lines
1.7 KiB
C++
#include "FileProcessor.h"
|
|
|
|
FileProcessor::FileProcessor()
|
|
:m_StartIndex(0)
|
|
, m_IsFinished(false)
|
|
, m_IsOpen(true)
|
|
, m_FirstStartTime(0L)
|
|
, m_BeginPrintTime(0L)
|
|
, m_AutoPauseTime(0L)
|
|
, m_IsAutoCtrl(false)
|
|
,m_SetParamType(SingleParam)
|
|
, m_AutoHeatingScanner(false)
|
|
{
|
|
}
|
|
|
|
|
|
FileProcessor::~FileProcessor()
|
|
{
|
|
|
|
}
|
|
|
|
void FileProcessor::SetJobbean(JobBean bean)
|
|
{
|
|
m_Jobbean = bean;
|
|
}
|
|
|
|
JobBean* FileProcessor::GetJobbean()
|
|
{
|
|
return &m_Jobbean;
|
|
}
|
|
|
|
void FileProcessor::UpdateJobBeanWhenStart()
|
|
{
|
|
if (m_Jobbean.m_IsContinue) {
|
|
time(&m_Jobbean.m_StartTime);
|
|
}
|
|
else
|
|
{
|
|
time(&m_Jobbean.m_InsertTime);
|
|
m_Jobbean.m_StartTime = m_Jobbean.m_InsertTime;
|
|
m_Jobbean.m_Uid = GetJobUid();
|
|
m_Jobbean.m_Name = GetJobTitle();
|
|
m_Jobbean.m_PrintedLayerIndex = m_StartIndex;
|
|
}
|
|
}
|
|
|
|
bool FileProcessor::JudgePowder(double powderPos,unsigned int layer,unsigned int& level )
|
|
{
|
|
vector<MetaData::Layer*> layers= GetMetaData()->GetLayersVec();
|
|
bool rel = true;
|
|
double need = 0.0;
|
|
for (size_t layerindex = layer; layerindex < layers.size(); ++layerindex) {
|
|
MetaData::Layer* layer = layers[layerindex];
|
|
need = need + layer->powder;
|
|
if (need>powderPos) {
|
|
level = layerindex;
|
|
rel = false;
|
|
break;
|
|
}
|
|
}
|
|
return rel;
|
|
}
|
|
|
|
float FileProcessor::GetJobPrintHigh()
|
|
{
|
|
uint32_t high = 0;
|
|
vector<MetaData::Layer*> layers = GetMetaData()->GetLayersVec();
|
|
for (size_t layerindex = m_StartIndex; layerindex < layers.size(); ++layerindex) {
|
|
MetaData::Layer* layer = layers[layerindex];
|
|
high += layer->layer_thickness;
|
|
}
|
|
float fh = (float)high / 1000.0f;
|
|
return fh;
|
|
}
|
|
|
|
void FileProcessor::UpdateJobBeanWhenStop()
|
|
{
|
|
m_Jobbean.m_IsContinue = false;
|
|
m_Jobbean.m_PrintedLayerIndex = 0;
|
|
m_Jobbean.m_LastPauseTime = 0;
|
|
m_FirstStartTime = 0;
|
|
m_Jobbean.m_PrintSecond = 0;
|
|
} |