GrpcPrint/PrintS/job/FileProcessor.h

79 lines
2.5 KiB
C
Raw Normal View History

2024-07-04 15:22:11 +08:00
#pragma once
#include "MetaData.h"
#include <string>
#include "../log/Jobbean.h"
class FileProcessor
{
public:
typedef enum
{
FT_BP,
FT_CLI,
FT_H3D,
} FileType;
enum SetParamType {
SingleParam = 0,
SameParam,
AllParam
};
public:
FileProcessor();
virtual ~FileProcessor();
virtual int Process(string jobfile) = 0; //不传
virtual int GetCurrentLayerIndex(void) = 0; //不传
virtual int GetPreviewLayerIndex(void) = 0; //不传
virtual MetaData* GetMetaData() = 0; //已传 用到的已传
virtual string GetJobTitle() = 0; //已传
virtual string GetMaterialName() = 0; //不传
virtual double GetLayerThickness() = 0; //不传
virtual unsigned int GetLayerCount() = 0; //已传
virtual int GetComponentCount() = 0; //已传
virtual MetaData::Layer* GetLayer(unsigned int index) = 0; //已传
virtual int GetLayerIndex(MetaData::Layer* layer) = 0; //不传
virtual string GetJobUid() = 0; //已传
virtual FileType GetFileType() = 0; //不传
virtual void UpdateFile(){} //不传
string GetJobFileName() { return m_job_file_name; } //已传
bool IsLayerInherit(void) { return m_LayerInherit; } //已传
void SetLayerInherit(bool layer_inherit) { m_LayerInherit = layer_inherit; } //已传
unsigned int GetStartIndex() { return m_StartIndex; } //已传
virtual void SetStartIndex(unsigned int index) { m_StartIndex = index; } //已传
bool IsFinished() { return m_IsFinished; } //不传
void SetFinished(bool isf) { m_IsFinished = isf; if (isf) SetStartIndex(0); } //不传
long GetCurrentLogJobID(void) { return m_CurrentLogJobID; } //无用
void SetCurrentLogJobID(long id) { m_CurrentLogJobID = id; } //无用
void SetJobbean(JobBean bean); //不用 ContinueTask
JobBean* GetJobbean(); //不传
//void UpdateJobBean();
void UpdateJobBeanWhenStart(); //不传
void UpdateJobBeanWhenStop(); //不传
bool JudgePowder(double powderPos, unsigned int layerindex, unsigned int &level); //不传
float GetJobPrintHigh(); //不传
void UpdateParameterSet(const ReadData& rd,const list<Item>& lst);
public:
bool m_IsOpen;
uint64_t m_FirstStartTime;
uint64_t m_BeginPrintTime; //打印停歇时间判断
uint64_t m_AutoPauseTime; //自动停打时间判断
bool m_IsAutoCtrl;
int m_SetParamType;
bool m_AutoHeatingScanner;
string m_TaskId;
protected:
string m_job_file_name;
bool m_LayerInherit;
unsigned int m_StartIndex;
bool m_IsFinished;
long m_CurrentLogJobID;
JobBean m_Jobbean;
};