#pragma once //#include "McGlobal.h" #include "CAxis.h" #include "CCameraBase.h" #include "CManageDB.h" #include "CMachineCalibration.h" #include "CPrStrategy.h" #include "CMathCalc.h" #include "ICalibration.h" #include "CPxielLocation.h" #include "CHardwareList.h" /* * �궨�� * ��������: * 1��ִ�б궨���� * 2������궨��� * 3������ת���ӿڣ���Ȼ������δֱ����������ת���ӿڵľ���ʵ�֣����������ͼ�����˹��ܣ� */ using namespace ns_db; using namespace ns_pr; class __declspec(dllexport) CCalib { public: /** * @brief ���캯�� * @param GetModuleType ģ�����ͣ����ڱ�ʶ��ͬ��ģ�飬���庬��ȡ����ҵ���� * @param GetModuleName ģ�����ƣ��������ֲ�ͬ��ģ�� */ CCalib(int GetModuleType, string GetModuleName); /** * @brief �������� * ������������Ϊ�գ�û���������Դ�ͷŲ����������������˶�̬�������Դ����Ҫ�ڴ˴������ͷ� */ ~CCalib() {} /** * @brief ���� X �� Y �� * @param xAxis X �����ָ�� * @param yAxis Y �����ָ�� */ void SetXYAxis(CAxis* xAxis, CAxis* yAxis) { m_pXAxis = xAxis; m_pYAxis = yAxis; }; /** * @brief ���� X��Y �� Z �� * @param xAxis X �����ָ�� * @param yAxis Y �����ָ�� * @param zAxis Z �����ָ�� */ void SetXYZAxis(CAxis* xAxis, CAxis* yAxis, CAxis* zAxis) { m_pXAxis = xAxis; m_pYAxis = yAxis; m_pZAxis = zAxis; }; /** * @brief ���� X��Y �� R �� * @param xAxis X �����ָ�� * @param yAxis Y �����ָ�� * @param rAxis R �����ָ�� */ void SetXYRAxis(CAxis* xAxis, CAxis* yAxis, CAxis* rAxis) { m_pXAxis = xAxis; m_pYAxis = yAxis; m_pRAxis = rAxis; }; /** * @brief ���� X��Y��Z �� R �� * @param xAxis X �����ָ�� * @param yAxis Y �����ָ�� * @param zAxis Z �����ָ�� * @param rAxis R �����ָ�� */ void SetXYZRAxis(CAxis* xAxis, CAxis* yAxis, CAxis* zAxis, CAxis* rAxis) { m_pXAxis = xAxis; m_pYAxis = yAxis; m_pZAxis = zAxis; m_pRAxis = rAxis; } /** * @brief ����������� * @param camera �������ָ�� * �ú�����Ԥ���˴��� PR ���Զ���Ĵ���λ�ã������ɸ����������Ӿ���ʵ�� */ void SetCamera(CCameraBase* camera) { m_pCamera = camera; //m_pPRStrategy = new } /** * @brief ��ʼ�궨���� * @return �궨�����ķ���ֵ�����庬��ȡ����ҵ������ͨ�� 0 ��ʾ�ɹ����� 0 ��ʾʧ�� * �ú���Ϊ���麯������Ҫ����������ʵ�־���ı궨�� */ virtual int StartCalib() { return OK; }; /** * @brief ��ȡ�궨���� * �ú���Ϊ���麯������Ҫ����������ʵ�־���Ļ�ȡ������ */ virtual LONG GetParam() = 0; /** * @brief ���ñ궨���� * �ú���Ϊ���麯������Ҫ����������ʵ�־�������ò����� */ virtual void SetParam() = 0; virtual void Stop() { m_bStop = true; } protected: LONG SearchTemp(int iTempID, CCameraBase* camera, bool isToCameraCenter, XY_DOUBLE_STRUCT& outResult); protected: int m_nID = 0; // ģ��� ID������Ψһ��ʶ��ͬ��ģ�� string m_sName = ""; // ģ������ƣ��������ֲ�ͬ��ģ�� CAxis* m_pXAxis = nullptr; // X �����ָ�� CAxis* m_pYAxis = nullptr; // Y �����ָ�� CAxis* m_pZAxis = nullptr; // Z �����ָ�� CAxis* m_pRAxis = nullptr; // R �����ָ�� CCameraBase* m_pCamera = nullptr; // �������ָ�� ICalibration* m_pCalibration = nullptr; // �궨�ӿڶ���ָ�� CPixelLocation* m_pPixelLocation = nullptr; // ����λ�ö���ָ�� CManageDB* m_pManageDB = nullptr; CMachineCalibration* m_pCalibDB = nullptr; bool m_bStop = false; int imageNum = 0; // ע���еĺ����������������ڶ�λ������δ������ʵ�� //LONG Location(int temp, ImageInfo image, X_Y_ANGLE_STRUCT outResult); };