#pragma once
|
|
#include "CHThreadPools/WorkThreadPools.h"
|
|
class CSimulationData
|
{
|
public:
|
CSimulationData()
|
{
|
nModuleType = 0;
|
nTriggerType = 0;
|
nFrameCount = 0;
|
nFrameRate = 0;
|
}
|
|
public:
|
int nModuleType; // grab, snap
|
int nTriggerType; // external, internal
|
int nFrameCount; // frame cnt
|
int nFrameRate;
|
};
|
|
class CSimulationThreadData : public CWorkThreadData
|
{
|
public:
|
CSimulationThreadData(PVOID pPtr) : CWorkThreadData(pPtr)
|
{
|
|
}
|
virtual ~CSimulationThreadData()
|
{
|
|
}
|
|
CSimulationData simulationData;
|
};
|
|
interface ISimulationThread2Parent
|
{
|
virtual void IST2P_RunThreadProcess(const CSimulationData& threadData) = 0;
|
};
|
|
class AFX_EXT_CLASS CSimulationThread : public CWorkThreadPools
|
{
|
public:
|
CSimulationThread(void);
|
virtual ~CSimulationThread(void);
|
void SetST2P(ISimulationThread2Parent* pST2P) { m_pST2P = pST2P; }
|
|
BOOL AddThreadData(const CSimulationData& data);
|
|
protected:
|
virtual void WorkThreadProcess(PVOID pParameter);
|
|
private:
|
ISimulationThread2Parent* m_pST2P;
|
};
|