#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 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 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; }