/* ��Դ�࣬ ��������ʱ��������Դ��������Դ(���������յ���ͨ������ϵ) */ #pragma once #include <vector> #include <string> #include <map> #include "CBondMatrix.h" #include "CPRStrategy.h" #include "CWaferMatrix.h" using namespace std; using namespace ns_mat; using namespace ns_pr; #pragma region ����ϵ typedef struct _COORDSYS_STRUCT { double OriginPtX; double OriginPtY; int DirectX; int DierctY; int DierectZ; }COORDSYS_STRUCT; #pragma endregion #ifdef DB_RESCOURCES_EXPORTS #define DB_RESCOURCES_DLL_API __declspec(dllexport) #else #define DB_RESCOURCES_DLL_API //__declspec(dllimport) #endif class DB_RESCOURCES_DLL_API CResources { private: CResources(); ~CResources(); const BOND_DIR m_BondMatrixSearchDie = BOND_DIR::OrderAndS; public: static CResources* GetInstance(); static void releaseInstance(); long GetParam(); long SetParam(); //���յ� std::map<int, std::vector<int>> GetStepMap(int productID); std::vector<int> GetStepList(int productID,int StepListID); void SaveStepMap(); //������ÿ��step��Ӧ�IJ��� //STEP_PARAM GetStepParamByID(int id); //��λ���ݣ� CBondMatrix* GetBondMatrix(); CWaferMatrix* GetWaferMatrix(); //PR���Ӿ����ģ�壬ֻ�轫ģ��ʹ��ģ���PRID��Ӧ������ CPRStrategy* GetPRStrategyByID(int ModuleID); //����ϵ //��λ��ת��Ϊȫ������ϵ XY_DOUBLE_STRUCT ToGlobalCoord(int moduleID, XY_DOUBLE_STRUCT point); X_Y_Z_STRUCT ToGlobalCoord(int moduleID, X_Y_Z_STRUCT point); //��ȫ������ϵת��λģ������ϵ XY_DOUBLE_STRUCT ToLocalCoord(int moduleID, XY_DOUBLE_STRUCT point); X_Y_Z_STRUCT ToLocalCoord(int moduleID, X_Y_Z_STRUCT point); private: static CResources* m_instance; //�����productID���ڶ��㲻ͬ��StepListID��������StepID���� std::map<int,std::map<int, std::vector<int>>> m_mapStep; //Bond�ĵ�λ���� CBondMatrix* m_pBondMatrix = nullptr; CWaferMatrix* m_pWaferMatrix = nullptr; //��λ����1���������ж���ÿ������ж�Ӧһ��λ���� 2���̾�����Ҳ��Ӧ��λ���� std::map<int, CBondMatrix*> m_mapPositionInfo;//KeyΪID //����ϵ map<int,COORDSYS_STRUCT> m_vetModuleCoords;//ģ������ϵ COORDSYS_STRUCT m_stGlobalCoord;//ȫ������ϵ };