#pragma once
|
|
#include "CHCommonClasses/MacroFile.h"
|
|
class CCHImageData;
|
|
#define MAX_BUFFER_SCAN_COUNT 1
|
|
enum TriggerMode { ModeFreeRun = 0, ModeInternal, ModeExternal};
|
enum TriggerSource { SourceAutomatic = 0, SourceTrigger1, SourceTrigger2 };
|
enum FlipMode { FlipNone = 0, FlipVertical, FlipHorizontal, FlipBoth, FlipCount };
|
enum FrameChannel { MonoChannel = 1, BGRChannel = 3};
|
enum ImageExtension { BmpExtension = 0, JpgExtension, ImageExtensionCnt};
|
|
// camera interface
|
interface ICameraControl2Parent
|
{
|
virtual BOOL ICC2P_GetCurrentFrame(int nIndex, int nFrameWidth, int nFrameHeight, int nFrameChannels, CCHImageData* pImageData) = 0;
|
virtual BOOL ICC2P_FrameCaptured(int nIndex, int nFrameIndex, int nFrameCount) = 0;
|
virtual BOOL ICC2P_SnapCompleted(int nIndex, int nFrameCount) = 0;
|
virtual void ICC2P_DisplayMessage(int nIndex, const TCHAR* lpstrFormat, ...) = 0;
|
};
|
|
class CCameraControlInfo
|
{
|
public:
|
CCameraControlInfo(int nIndex=0) : m_nIndex(nIndex) { Reset(); }
|
~CCameraControlInfo(void) { Reset(); }
|
void Reset()
|
{
|
m_strName = _T("");
|
m_nLibraryType = 0;
|
m_strConnectionPort = _T("");
|
|
m_nFlipType = 0;
|
m_nGrabberIndex = -1;
|
m_nChannelIndex = -1;
|
m_nFrameWidth = 0;
|
m_nFrameHeight = 0;
|
m_nFrameChannels = 0;
|
m_nGrabCount = 0;
|
m_nFrameCount = 0;
|
m_nImageBufferCount = 0;
|
|
m_nAxisDirectionX = 0;
|
m_nAxisDirectionY = 0;
|
m_dPixelResolution = 1.0;
|
|
m_dGainRed = 1.0;
|
m_dGainGreen = 1.0;
|
m_dGainBlue = 1.0;
|
|
m_strFfcFilename = _T("");
|
m_strCameraFile = _T("");
|
}
|
|
|
BOOL LoadInfo(CMacroFile* pFile, const CString& strItemName)
|
{
|
if (pFile==NULL) return FALSE;
|
|
CString strValue = _T("");
|
|
strValue = strItemName + _T("_INDEX");
|
pFile->GetItem(strValue, m_nIndex, 0);
|
|
strValue = strItemName + _T("_NAME");
|
pFile->GetItem(strValue, m_strName, _T(""));
|
|
strValue = strItemName + _T("_LIBRARY_TYPE");
|
pFile->GetItem(strValue, m_nLibraryType, 0);
|
|
strValue = strItemName + _T("_CONNECT_PORT");
|
pFile->GetItem(strValue, m_strConnectionPort, _T(""));
|
|
strValue = strItemName + _T("_FLIP_TYPE");
|
pFile->GetItem(strValue, m_nFlipType, 0);
|
|
strValue = strItemName + _T("_GRABBER_INDEX");
|
pFile->GetItem(strValue, m_nGrabberIndex, -1);
|
|
strValue = strItemName + _T("_CHANNEL_INDEX");
|
pFile->GetItem(strValue, m_nChannelIndex, -1);
|
|
strValue = strItemName + _T("_FRAME_WIDTH");
|
pFile->GetItem(strValue, m_nFrameWidth, 0);
|
|
strValue = strItemName + _T("_FRAME_HEIGHT");
|
pFile->GetItem(strValue, m_nFrameHeight, 0);
|
|
strValue = strItemName + _T("_FRAME_CHANNELS");
|
pFile->GetItem(strValue, m_nFrameChannels, 0);
|
|
strValue = strItemName + _T("_GRAB_COUNT");
|
pFile->GetItem(strValue, m_nGrabCount, 0);
|
|
strValue = strItemName + _T("_FRAME_COUNT");
|
pFile->GetItem(strValue, m_nFrameCount, 0);
|
|
strValue = strItemName + _T("_IMAGE_BUFFER_COUNT");
|
pFile->GetItem(strValue, m_nImageBufferCount, 0);
|
|
strValue = strItemName + _T("_AXIS_DIRECTION_X");
|
pFile->GetItem(strValue, m_nAxisDirectionX, 0);
|
|
strValue = strItemName + _T("_AXIS_DIRECTION_Y");
|
pFile->GetItem(strValue, m_nAxisDirectionY, 0);
|
|
strValue = strItemName + _T("_PIXEL_RESOLUTION");
|
pFile->GetItem(strValue, m_dPixelResolution, 1.0);
|
|
strValue = strItemName + _T("_GAIN_RED");
|
pFile->GetItem(strValue, m_dGainRed, 1.0);
|
|
strValue = strItemName + _T("_GAIN_GREEN");
|
pFile->GetItem(strValue, m_dGainGreen, 1.0);
|
|
strValue = strItemName + _T("_GAIN_BLUE");
|
pFile->GetItem(strValue, m_dGainBlue, 1.0);
|
|
strValue = strItemName + _T("_FFC_FILE_NAME");
|
pFile->GetItem(strValue, m_strFfcFilename, _T(""));
|
|
return TRUE;
|
}
|
|
BOOL SaveInfo(CMacroFile* pFile, const CString& strItemName)
|
{
|
if (pFile==NULL) return FALSE;
|
|
CString strValue = _T("");
|
|
strValue = strItemName + _T("_INDEX");
|
pFile->SetItem(strValue, m_nIndex);
|
|
strValue = strItemName + _T("_NAME");
|
pFile->SetItem(strValue, m_strName);
|
|
strValue = strItemName + _T("_LIBRARY_TYPE");
|
pFile->SetItem(strValue, m_nLibraryType);
|
|
strValue = strItemName + _T("_CONNECT_PORT");
|
pFile->SetItem(strValue, m_strConnectionPort);
|
|
strValue = strItemName + _T("_FLIP_TYPE");
|
pFile->SetItem(strValue, m_nFlipType);
|
|
strValue = strItemName + _T("_GRABBER_INDEX");
|
pFile->SetItem(strValue, m_nGrabberIndex);
|
|
strValue = strItemName + _T("_CHANNEL_INDEX");
|
pFile->SetItem(strValue, m_nChannelIndex);
|
|
strValue = strItemName + _T("_FRAME_WIDTH");
|
pFile->SetItem(strValue, m_nFrameWidth);
|
|
strValue = strItemName + _T("_FRAME_HEIGHT");
|
pFile->SetItem(strValue, m_nFrameHeight);
|
|
strValue = strItemName + _T("_FRAME_CHANNELS");
|
pFile->SetItem(strValue, m_nFrameChannels);
|
|
strValue = strItemName + _T("_GRAB_COUNT");
|
pFile->SetItem(strValue, m_nGrabCount);
|
|
strValue = strItemName + _T("_FRAME_COUNT");
|
pFile->SetItem(strValue, m_nFrameCount);
|
|
strValue = strItemName + _T("_IMAGE_BUFFER_COUNT");
|
pFile->SetItem(strValue, m_nImageBufferCount);
|
|
strValue = strItemName + _T("_AXIS_DIRECTION_X");
|
pFile->SetItem(strValue, m_nAxisDirectionX);
|
|
strValue = strItemName + _T("_AXIS_DIRECTION_Y");
|
pFile->SetItem(strValue, m_nAxisDirectionY);
|
|
strValue = strItemName + _T("_PIXEL_RESOLUTION");
|
pFile->SetItem(strValue, m_dPixelResolution);
|
|
strValue = strItemName + _T("_GAIN_RED");
|
pFile->SetItem(strValue, m_dGainRed);
|
|
strValue = strItemName + _T("_GAIN_GREEN");
|
pFile->SetItem(strValue, m_dGainGreen);
|
|
strValue = strItemName + _T("_GAIN_BLUE");
|
pFile->SetItem(strValue, m_dGainBlue);
|
|
strValue = strItemName + _T("_FFC_FILE_NAME");
|
pFile->SetItem(strValue, m_strFfcFilename);
|
|
return TRUE;
|
}
|
|
// getter
|
int CCameraControlInfo::GetIndex() const
|
{
|
return m_nIndex;
|
}
|
|
CString CCameraControlInfo::GetName() const
|
{
|
return m_strName;
|
}
|
|
int CCameraControlInfo::GetLibraryType() const
|
{
|
return m_nLibraryType;
|
}
|
|
CString CCameraControlInfo::GetConnectionPort() const
|
{
|
return m_strConnectionPort;
|
}
|
|
int CCameraControlInfo::GetFlipType() const
|
{
|
return m_nFlipType;
|
}
|
|
int CCameraControlInfo::GetGrabberIndex() const
|
{
|
return m_nGrabberIndex;
|
}
|
|
int CCameraControlInfo::GetChannelIndex() const
|
{
|
return m_nChannelIndex;
|
}
|
|
int CCameraControlInfo::GetFrameWidth() const
|
{
|
return m_nFrameWidth;
|
}
|
|
int CCameraControlInfo::GetFrameHeight() const
|
{
|
return m_nFrameHeight;
|
}
|
|
int CCameraControlInfo::GetFrameChannels() const
|
{
|
return m_nFrameChannels;
|
}
|
|
int CCameraControlInfo::GetGrabCount() const
|
{
|
return m_nGrabCount;
|
}
|
|
int CCameraControlInfo::GetFrameCount() const
|
{
|
return m_nFrameCount;
|
}
|
|
int CCameraControlInfo::GetImageBufferCount() const
|
{
|
return m_nImageBufferCount;
|
}
|
|
int CCameraControlInfo::GetAxisDirectionX() const
|
{
|
return m_nAxisDirectionX;
|
}
|
|
int CCameraControlInfo::GetAxisDirectionY() const
|
{
|
return m_nAxisDirectionY;
|
}
|
|
double GetPixelResolution() const
|
{
|
return m_dPixelResolution;
|
}
|
|
double GetGainRed() const
|
{
|
return m_dGainRed;
|
}
|
|
double GetGainGreen() const
|
{
|
return m_dGainGreen;
|
}
|
|
double GetGainBlue() const
|
{
|
return m_dGainBlue;
|
}
|
|
CString GetFfcFilename() const
|
{
|
return m_strFfcFilename;
|
}
|
|
CString GetCameraFile() const
|
{
|
return m_strCameraFile;
|
}
|
|
// setter
|
void SetIndex(int nIndex)
|
{
|
m_nIndex = nIndex;
|
}
|
|
void SetName(const CString& strName)
|
{
|
m_strName = strName;
|
}
|
|
void SetLibraryType(int nType)
|
{
|
m_nLibraryType = nType;
|
}
|
|
void SetConnectionPort(const CString& strPort)
|
{
|
m_strConnectionPort = strPort;
|
}
|
|
void SetFlipType(int nType)
|
{
|
m_nFlipType = nType;
|
}
|
|
void SetGrabberIndex(int nIndex)
|
{
|
m_nGrabberIndex = nIndex;
|
}
|
|
void SetChannelIndex(int nIndex)
|
{
|
m_nChannelIndex = nIndex;
|
}
|
|
void SetFrameWidth(int nWidth)
|
{
|
m_nFrameWidth = nWidth;
|
}
|
|
void SetFrameHeight(int nHeight)
|
{
|
m_nFrameHeight = nHeight;
|
}
|
|
void SetFrameChannels(int nChannels)
|
{
|
m_nFrameChannels = nChannels;
|
}
|
|
void SetGrabCount(int nCount)
|
{
|
m_nGrabCount = nCount;
|
}
|
|
void SetFrameCount(int nCount)
|
{
|
m_nFrameCount = nCount;
|
}
|
|
void SetImageBufferCount(int nCount)
|
{
|
m_nImageBufferCount = nCount;
|
}
|
|
|
void SetAxisDirectionX(int nDir)
|
{
|
m_nAxisDirectionX = nDir;
|
}
|
|
void SetAxisDirectionY(int nDir)
|
{
|
m_nAxisDirectionY = nDir;
|
}
|
|
void SetPixelResolution(double dRes)
|
{
|
m_dPixelResolution = dRes;
|
}
|
|
void SetGainRed(double dGain)
|
{
|
m_dGainRed = dGain;
|
}
|
|
void SetGainGreen(double dGain)
|
{
|
m_dGainGreen = dGain;
|
}
|
|
void SetGainBlue(double dGain)
|
{
|
m_dGainBlue = dGain;
|
}
|
|
void SetFfcFilename(const CString& strFilename)
|
{
|
m_strFfcFilename = strFilename;
|
}
|
|
void SetCameraFile(const CString& strCameraFile)
|
{
|
m_strCameraFile = strCameraFile;
|
}
|
|
protected:
|
int m_nIndex; // À妽º
|
CString m_strName; //Ä«¸Þ¶ó À̸§
|
|
int m_nLibraryType; // ¶óÀ̺귯¸® ŸÀÔ
|
CString m_strConnectionPort; // ¿¬°á Æ÷Æ®
|
|
int m_nFlipType; //Ä«¸Þ¶ó FLIP ŸÀÔ
|
int m_nGrabberIndex; //Ä«¸Þ¶ó ±×·¡¹ö À妽º
|
int m_nChannelIndex; //Ä«¸Þ¶ó ä³Î À妽º
|
int m_nFrameWidth; //Ä«¸Þ¶ó ÇÁ·¹ÀÓ ³ÐÀÌ
|
int m_nFrameHeight; //Ä«¸Þ¶ó ÇÁ·¹ÀÓ ³ôÀÌ
|
int m_nFrameChannels; //Ä«¸Þ¶ó ä³Î ¼ö
|
int m_nGrabCount; //±×·¦ÆÛ¹ö¼ö
|
int m_nFrameCount; //Ä«¸Þ¶ó ÇÁ·¹ÀÓ °³¼ö
|
int m_nImageBufferCount; //À̹ÌÁö ¹öÆÛ °³¼ö
|
|
int m_nAxisDirectionX; //Ä«¸Þ¶ó XÃà ¹æÇâ
|
int m_nAxisDirectionY; //Ä«¸Þ¶ó YÃà ¹æÇâ
|
double m_dPixelResolution; //Ä«¸Þ¶ó ÇØ»óµµ
|
|
double m_dGainRed; //Ä«¸Þ¶ó Gain
|
double m_dGainGreen; //Ä«¸Þ¶ó Gain
|
double m_dGainBlue; //Ä«¸Þ¶ó Gain
|
|
CString m_strFfcFilename; //FFC Image
|
CString m_strCameraFile;
|
};
|