#pragma once
|
|
#include <vector>
|
#include "CHThreadPools/WorkThreadPools.h"
|
|
class CDiagnosisManager;
|
interface IDiagnosisProcessor2Parent;
|
|
class CDiagnosisProcessData : public CWorkThreadData
|
{
|
public:
|
CDiagnosisProcessData(PVOID pPtr) : CWorkThreadData(pPtr)
|
{
|
nThreadIdx = -1;
|
nProcessMode = 0;
|
}
|
|
virtual ~CDiagnosisProcessData()
|
{
|
nThreadIdx = -1;
|
nProcessMode = 0;
|
}
|
|
int nThreadIdx;
|
int nProcessMode;
|
};
|
|
|
class AFX_EXT_CLASS CDiagnosisProcessor : public CWorkThreadPools
|
{
|
public:
|
CDiagnosisProcessor();
|
virtual ~CDiagnosisProcessor();
|
|
void SetDP2P(IDiagnosisProcessor2Parent* pDP2P) { m_pDP2P = pDP2P; }
|
void SetManagerPtr(CDiagnosisManager* pPtr) { m_pManager = pPtr; }
|
|
virtual BOOL StartProcess(int nProcessMode = 0);
|
virtual void StopProcess();
|
|
BOOL IsCommandStop() { return !m_bStartProcess; }
|
|
protected:
|
virtual void WorkThreadProcess(PVOID pParameter); // CWorkThreadPools
|
|
int ProcessAll();
|
int ProcessSquareness();
|
int ProcessWsi();
|
int ProcessFlatness();
|
int ProcessFlatness_Manual();
|
int ProcessSimulation();
|
|
BOOL CalculateSquareness(int nIndex);
|
protected:
|
IDiagnosisProcessor2Parent* m_pDP2P;
|
CDiagnosisManager* m_pManager;
|
BOOL m_bStartProcess;
|
};
|