using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using OTSDataType; using System.Drawing; using OTSCLRINTERFACE; namespace OTSModelSharp.ServiceCenter { public enum EDSTYPE { OFFLINE =0, BRUKER =1, OXFORD=2, FEI=3 } public enum DwellTimeLevel { Low = 0, Medium = 1, High = 2, } public interface ISemController { bool IsConnected(); bool Connect(); bool DisConnect(); bool SetMagnification(double a_dMagnification); bool GetMagnification(ref double a_dMagnification); bool SetWorkingDistance(double a_distance); bool GetWorkingDistance(ref double a_distance); bool SetScanExternal(bool b); bool GetScanFieldSize(ref double dScanFieldSizeX,ref double dScanFieldSizeY); bool GetSemPositionXY(ref double a_dPositionX, ref double a_dPositionY, ref double a_dPositionR); bool MoveSEMToPoint(double a_dPositionX, double a_dPositionY, double rotation); bool MoveSEMToPoint(double a_dPositionX, double a_dPositionY); bool SetSemBrightness(double a_dBrightness); bool GetSemBrightness(ref double a_dBrightness); bool SetSemContrast(double a_dContrast); bool GetSemContrast(ref double a_dContrast); bool SetSemHighTension(double a_dKV); bool GetSemHighTension(ref double a_dKV); bool SetSemBeamCurrentOff(bool value); bool SetSemBeamBlank(bool value); bool SetSemHTOff(bool value); bool GetSemBeamBlank(ref int a_nBeamBlank); bool StopXrayAcquisition(); bool RunHIGH_VACUUM(); bool StopImageAcquisition(); bool SetReducedArea(); bool SetFullFrame(); } public interface IScanController { bool Init(); bool SetDwellTime(DwellTimeLevel val); bool SetImageSize(int nWidth,int nHeight); CBSEImgClr AcquireBSEImage(); CBSEImgClr AcquireRectangleBSEImage( System.Drawing.Rectangle rec); } public interface IEDSController { bool Connect(); bool GetXRayByFeatures(List a_listParticles, double a_nXRayAQTime, bool a_bElementInfo /*= FALSE*/);//这里将DWORD转成了Double类型,因为在后续调用时还有DWORD强制转换 bool GetXRayByExpandFeatures(List a_listParticles, double a_nXRayAQTime, bool a_bElementInfo /*= FALSE*/); bool GetXRayByParts(List a_listParticles, uint a_nXRayAQTime, bool a_bElementInfo /*= FALSE*/); bool CollectSpectrum(uint a_nXRayAQTime, ref uint[] a_XrayData); bool QuantifyXrayByPart(COTSParticleClr part); EDSTYPE GetEDSType(); void SetFilterKeyEleNames(List KeyNameList); void SetResolution(int resolutionWidth, int resolutionHeight); int GetExpectCount(); bool GetIfDelayQuantify(); void SetQuantifiCationParam(bool IfAutoId, String knownElements); } }