| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- #pragma once
- #include "OTSProjMgrFile.h"
- #include "StageClr.h"
- #include "HoleBSEImgClr.h"
- #include "OTSSampleClr.h"
- #include "OTSImgScanPrmClr.h"
- #include "OTSImgProcPrmClr.h"
- #include "OTSXRayPrmClr.h"
- #include "GenParamClr.h"
- #include "SEMStageDataClr.h"
- namespace OTSINTERFACE {
- using namespace System;
- using namespace OTSMODEL;
- ref class COTSSampleClr;
- typedef System::Collections::Generic::List<COTSSampleClr^> COTSSamplesListClr;
- public ref class CProjMgrClr : public Object
- {
- public:
- CProjMgrClr(); // constructor
- CProjMgrClr(COTSProjMgrFile*); // copy constructor
- CProjMgrClr(COTSProjMgrFilePtr); // copy constructor
- ~CProjMgrClr();
- !CProjMgrClr();
- //get C++ pointer from C#
- COTSProjMgrFilePtr GetCProjMgrPtr();
- // file
- bool NewFile();
- bool Load();
- bool Save();
- bool SaveAs();
- bool IsValid();
- // SEM stage data
- CSEMStageDataClr^ GetSEMStageData();
- void SetSEMStageData(CSEMStageDataClr^ a_pSEMStageData);
- // stage
- CStageClr^ GetStage();
- void SetStage(CStageClr^ a_pStage);
- // samples list
- COTSSamplesListClr^ GetSampleList();
- bool SetSampleList(COTSSamplesListClr^ a_listSample, bool a_bClear);
- COTSSampleClr^ GetSampleByIndex(int a_nIndex);
- COTSSampleClr^ GetSampleByName(String^ a_strSampleName);
- COTSSampleClr^ AddSample(String^ a_strHoleName);
- bool DeleteSampleByIndex(int a_nIndex);
- bool DeleteSampleByName(String^ a_strSampleName);
- bool SameNameInList(String^ a_strSampleName, int a_nExclude);
- bool ResetSamplesListOrder(System::Collections::Generic::List<String^>^ a_listSampleNames);
- bool InsrtSample(COTSSampleClr^ a_pSample, int a_nIndex);
- bool ChangeSamplePosition(int a_nIndexFrom, int a_nIndexTo);
- bool MoveSamplePosition(COTSSampleClr^ a_pTargetSample, COTSSampleClr^ a_RefpSample, bool a_bBefore);
- bool MoveSamplePosition(String^ a_strTargetSampleName,String^ a_strRefSampleName, bool a_bBefore);
- // working sample
- COTSSampleClr^ GetWorkingSample();
- int GetWorkingSampleIndex();
- bool SetWorkingSampleByIndex(int a_nIndex);
- bool SetWorkingSampleByName(String^ a_pSampleName);
- bool DeleteWorkingSample();
- // Sample hole BSE image list
- CHoleBSEImgsListClr^ GetHoleBESImgList();
- bool SetHoleBESImgList(CHoleBSEImgsListClr^ a_listHoleBSEImg, bool a_bClear);
- // system std lib
- CSTDItemsListClr^ GetSysSTDItemList();
- bool SetSTDItemList(CSTDItemsListClr^ a_listSysSTDItem, bool a_bClear);
- // get general parameter
- CGenParamClr^ GetGenParam();
- // set general parameter
- void SetGenParam(CGenParamClr^ a_pGenParam);
- // get image scan parameter
- COTSImgScanPrmClr^ GetImageScanParam();
- // set image scan parameter
- void SetImageScanParam(COTSImgScanPrmClr^ a_pImageScanParam);
- // get image process parameter
- COTSImgProcPrmClr^ GetImageProcParam();
- // set image process parameter
- void SetImageProcParam(COTSImgProcPrmClr^ a_pImageProcParam);
- // get XRay parameter
- COTSXRayPrmClr^ GetXRayParam();
- // set XRay parameter
- void SetXRayParam(COTSXRayPrmClr^ a_pXRayParam);
- // get modify flag
- bool IsModified();
- // set modify flag
- void SetModify(bool a_bModify);
- // set path name
- String^ GetPathName();
- void SetPathName(String^ a_strPathName);
- // get the project file name
- String^ GetFileName();
- // check if the sName can be used a sample name
- bool IsValidSampleName(String^ a_sName);
- //get param file name
- bool GetParamFileList(int% a_nPos, System::Collections::Generic::List<String^>^% a_listSTDLibName);
- // change STD
- bool ChangeParamFromList(int a_nPos);
- // get STD file list
- bool GetSTDFileList(int% a_nPos, System::Collections::Generic::List<String^>^ % a_listSTDLibName);
- // change STD
- bool ChangeSTDFromList(int a_nPos);
- // get measured sample list
- bool GetMsredSampleList(COTSSamplesListClr^ % a_listMsredSample);
- // calculate measurement area
- CDomainClr^ CalculateMsrArea(CHoleClr^ a_pHole);
- // remove background
- bool RemoveBackGround(CBSEImgClr^ a_pImgIn, COTSImgProcPrmClr^ a_pImgProcessParam, CBSEImgClr^ % a_pImgOut);
- bool GetSystemSTDLib(int a_nPacketId);
- protected:
- COTSProjMgrFilePtr* m_LpProjMgr;
-
- };
- }
|