SDC C-Project CF Review 프로그램
LYW
2021-08-09 b354c153b0074e5d54371bc05b12edbe8e613a19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#pragma once
 
 
#include "CHCameraControls/CameraControl.h"
#include "CameraImageData.h"
#include "CHReviewSetting/CameraControlInfo_Plus.h"
//#include "CameraParameter.h"
 
#define UM_UPDATE_CAMERA_VIEW            1028
 
typedef std::vector<CCameraControl*>                        VectorCameraControl;
typedef std::vector<CCameraControl*>::iterator                VectorCameraControlIt;
 
typedef std::vector<CCameraControlInfo>                        VectorCameraControlInfo;
typedef std::vector<CCameraControlInfo>::iterator            VectorCameraControlInfoIt;
 
typedef std::vector<int>                                    VectorInteger;
typedef std::vector<int>::iterator                            VectorIntegerIt;
 
enum CameraControlType    { CameraControlStop=0, CameraControlLive, CameraControlStart };
 
class CCameraController : public ICameraControl2Parent
{
public:
    CCameraController(void);
    virtual ~CCameraController(void);
    int ConnectCamera(const VectorCameraControlInfo& vecCameraControlInfo);
    void DisconnectCamera();
    
    int    GetCameraCount()        { return (int)m_vecCameraControl.size(); }
    BOOL GetConnected();
    BOOL GetConnected(int nCameraIdx);
    CCHImageData* GetCameraImage(int nCameraIdx, int nFrameIdx);
 
    BOOL GetLiveImage(int nCameraIdx, CCHImageData* pImageData);
    BOOL SetCameraSoftwareTrigger(int nCameraIdx);
    
    // camera control 2 parent
    virtual BOOL ICC2P_FrameCaptured(int nCameraIndex, int nFrameIndex, int nFrameCount);
    virtual BOOL ICC2P_SnapCompleted(int nCameraIndex, int nFrameCount);
    virtual void    Camera_ClearIndex(int nIndex=-1);
    int m_defectcnt;
protected:    
    virtual int        Camera_Control(int nControlType);
    virtual int        Camera_Start();
    virtual int        Camera_Start(int nCount);
    virtual int        Camera_Live();
    virtual void    Camera_Stop();
 
 
    VectorCameraControlInfo            m_vecCameraContorlInfo;
    VectorCameraControl                m_vecCameraControl;        // camera control
    
    VectorCameraImageData            m_vecCameraImage;        // camera image buffer
    VectorInteger                    m_vecCameraImageIndex;    // camera image buffer index
    VectorInteger                    m_vecCameraImageSize;    // camera image buffer size
 
    VectorInteger                    m_vecCameraImageCount;    // camera image count
 
    CRITICAL_SECTION                m_csCameraImageIndex;
};