#pragma once #include "MetaData.h" #include #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& 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; };