| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344 |
-
- using OTSDataType;
- using OTSModelSharp;
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace OTSIncAMeasureApp
- {
- interface OTSDataMgrInterface
- {
- //获取系统文件是否存在和有效
- bool IsValidSystemFileExist(bool bNewFileFlag = true);
- //判断系统文件是否存在
- bool SystemFileExit();
-
- //bHasWFileFlg=true; 判断工作文件是否有样品信息,如果没有信息,可以允许客户去修改或者删除,或者重新new工作文件。
- //如果客户更改样品台信息,需要重新产生新的工作文件
- bool ShowProgMgrEditDlg();
- //获取绘制样品台的数据
- bool GetSampleStageData();
-
- // 新建样品工作文件
- bool CreateNewFile();
- //打开已存在的样品台工作文件
- bool OpenExistSampleFile();
- //保存样品文件+
- bool SaveFile();
- //另存文件
- bool SaveAsFile();
- //检查测量区域是否超过样品台区域
- bool CheckMeasureAreaIsByondStageArea(Rectangle RMeasureArea, Rectangle RStageArea, int iShape);
- //将样品台坐标转换为Sem 坐标
- Point ChangeOTSToSemCoord(Point POTSCoord);
- //获取放大倍数和工作距离
- bool GetMagAndDistance(ref double SemMag, ref double dDistance);
- //添加样品
- //string sSHoleName: 样品孔名,当在样品孔上点击右键添加样品时,sSHoleName=样品孔名。当MEASUREAPP和TREEVIEW添加样品时,sSHoleName=""
- //返回新的工作样品属性
- OTSSampleMeaInfo AddNewSample(string sSHoleName = "");
- //设置工作样品的属性值
- bool SetSampleParamVal(OTS_SAMPLE_PROP_GRID_ITEMS ItemId, OTS_ITEM_TYPES ValType, object objVal);
- //获取工作样品
- // 返回工作样品对象
- COTSSample GetWorkSample();
- //设置工作样品
- //string sNewWorkSampleName: 新工作样品
- bool SetWorkSample(string sNewWorkSampleName);
- //删除工作样品
- //string sWorkSampleName : 删除工作样品名称
- bool DeleteWorkSample(string sWorkSampleName);
- //获取图像尺寸参数
- //double iMag : 放大倍数
- //ref int iSFieldSize : 返回的Field图片尺寸
- void GetScanFieldSize(double iMag, ref int iSFieldSize);
- // 获取样品总数
- int GetSampleCount();
- //改变工作样品名称
- //String sWSampleNewName
- bool ChangeWorkSampleName(String sWSampleNewName);
- //移动工作样品到其他样品孔,样品孔名称和测量区域都要改变,重新设置工作样品参数
- //SampleMeasurePara SMeasurePara:
- SampleMeasurePara SetWorkSampleHoleNameAndMeasureArea(SampleMeasurePara SMeasurePara);
- //设置测量区域的形状 (通过RIBBON 上的画圆,画矩形 设置)
- //int iShape: 测量区域形状 0: 圆形; 1 :矩形
- void SetMeasureAreaShape(int iShape);
- //修改了ITEMID后,重新更新GROUPID和ITEMID
- void UpdateGroupValAndItemVal(OTS_SAMPLE_PROP_GRID_ITEMS ItemID);
- //获取COMBOX列表显示内容的Index值, 当前COMBBOX里显示的字符串的对应的ID号
- bool GetCombboxValIndex(OTS_SAMPLE_PROP_GRID_ITEMS ItemID, ref int iIndex);
- //SetCOMBOX列表显示内容的Index值
- bool SetCombboxValIndex(OTS_SAMPLE_PROP_GRID_ITEMS ItemID, int iIndex);
- //获取COMMBOX显示的字符串在LIST中保存的位置
- //bool GetValInCombboxIndex(OTS_SAMPLE_PROP_GRID_ITEMS ItemId, string sVal, ref int iIndex);
- //当SampleSpaceWindow 获取电镜参数时,SampleSpaceWindow给MeasureApp发送事件通知MEASUREP更新电镜工作参数参数
- bool UpdateSEMData();
- //设置工作样品参数锁
- bool SetSampleParaLock(bool ParaLockFlag);
- //获取工作样品锁
- //ref bool ParamLockFlag : 获取的工作样品参数锁
- bool GetWSampleParaLock(ref bool ParamLockFlag);
- //获取工作样品测量锁
- bool GetWSampleParaLock(ref OTSSampleMeaInfo SMInfo);
- //重新设置样品在样品列表中的位置(当拖动TREEVIEW的样品顺序后执行 )
- bool SortSamplePosition(List<string> SNameList);
- //打开保存的样品文件
- //List<CWorkSampleParam> SampleFileList 样品文件中的样品列表,返回样品树信息给TREEVIEW显示
- //成功返回 True;
- bool OpenExistSampleFile(ref List<CTreeSampleParam> SampleMeasureInfoList);
- //打开保存的样品文件
- //List<SampleMeasurePara> SampleMeasureAreaList 样品文件中的样品列表,返回样品的测量区域给SampleSpaceWindow
- //成功返回 True;
- bool OpenExistSampleMeasureArea(ref List<SampleMeasurePara> SampleMeasureAreaList);
- //检查样品测量参数
- // 检查是否有测量的样品。1. 检查样品列表中是否有样品。2. 检查样品中的Genery参数中的SWITCH值是否为TRUE
- bool CheckMeasureSampleStatu();
- //检查样品测量参数
- //ref List<COTSSampleClr> SampleList: 返回的检查参数的样品列表
- //bool bCheckFlag: // True,在点击运行按钮 ;False, 用户点击检查参数按钮
- bool CheckSampleParam(bool bCheckFlag);
- //获取BSE图像数据
- bool GetBSEImageSize(ref int iHeight, ref int iWidth);
- //获取测量参数文件名称
- //int iNamePos: 文件名在链表中的位置
- //List<string> MParamFileNameList: 测量参数文件链表
- bool GetMeasureParamFileName(ref int iNamePos, ref List<string> MParamFileNameList);
- //设置测量文件名称
- //int iNamePos: 文件名在链表中的位置
- bool SetMeasrueParamFileName(int iNamePos);
- //获取STD 标准库文件名称
- //int iNamePos: 文件名在链表中的位置
- //List<string> STDFileNameList: STD文件链表
- bool GetSTDFileName(ref int iNamePos, ref List<string> STDFileNameList);
- //设置STD 标准库文件名称
- //int iNamePos: STD文件名在链表中的位置
- bool SetSTDFileName(int iNamePos);
- //保存工作样品的测量参数文件
- bool SaveWorkMeasureFile();
- //保存工作样品的STD标准库文件
- bool SaveWorkSTDFile();
- //打开工作样品的测量参数文件
- bool LoadWorkMeasureFile();
- //打开工作样品的STD标准库文件
- bool LoadWorkSTDFile();
- //获取样品标准库参数
- //CInclutionSTDDataClr GetPartSTDData();
- //设置样品标准库参数
- //void SetPartSTDData(CInclutionSTD/*D*/ataClr PartSTDData);
- //判断是否允许修改样品名
- bool CheckSampleNameIsValid(string sNewName);
- //获取系统标准库参数
- //CInclutionSTDDataClr GetSysPartSTDData();
- //设置系统标准库参数
- //void SetSysPartSTDData(CInclutionSTDDataClr PartSTDData);
- //设置电镜参数
- //int iScanFieldSize: Field扫描参数
- //int iWDistance: 电镜工作距离
- //double dMagni: 放大倍数
- void SetSEMData(double iWDistance, double dMagni);
- //获取电镜参数
- //int iScanFieldSize: Field扫描参数
- //int iWDistance: 电镜工作距离
- //double dMagni: 放大倍数
- void GetSEMData(ref double iWDistance, ref double dMagni);
- //获取幁图数
- //ref List<Point> pField: 幁图数
- bool GetField(ref List<Point> pField, ref Size iSzie);
- //获取工作样品的测量区域
- //int iShape :测量区域形状
- //Rectangle Srect: 测量区域大小
- bool GetWSampleMrsArea(ref int iShape, ref Rectangle Srect);
- //检查Samplelist中的sample的checkbox状态
- //当Samplelist中的链表有sample 的checkbox状态是选中状态,则返回TRUE. 说明可以测量
- bool GetSampleCheckBoxStatus();
- //获取图像尺寸
- string GetBSEImageSize();
- //获取测量的BSE图
- //Byte[] BSEImage: 带背景图数据
- //int iHeight: 图像高度
- //int iWidth: 图像宽度
- //Byte[]BSEImageNoBG : 去背景图数据
- bool GetBSEImage(Byte[] BSEImage, int iHeight, int iWidth,ref Byte[]BSEImageNoBG);
- //获取测量Sample已用时间
- bool GetMsrSampleUsedTime(ref TimeSpan TUsedTime);
- //获取测量Sample的开始时间
- bool GetMsrSampleStartTime(ref DateTime MsrFieldStartTime);
- //获取新的工作文件对象
- COTSProjMgrFile GetNewProjMgrClr();
- // 获取测量结果信息
- bool GetMsrRetData(ref SMSR_COMPLETE_DATA MsrCompleteData);
- // 获取测量样品中之前已经测量完成Field帧图,(上一次未测量完成继续测试)
- bool GetBeforeCompleteField(ref string MsrSampleName, ref List<Point> FieldList);
- /*
- *
- *
- * Old
- *
- *
- */
- //添加样品
- //string sSHoleName: 样品孔名,当在样品孔上点击右键添加样品时,sSHoleName=样品孔名。当MEASUREAPP和TREEVIEW添加样品时,sSHoleName=""
- bool AddSample(ref List<OTSSampleMeaInfo> SampleList, string sSHoleName = "");
-
- //获取工作样品的属性值
- //OTSSampleMeaInfo SMeasureInfo : 样品属性值
- bool GetWorkSamplePropertyVal(COTSSample SampleClr,ref OTSSampleMeaInfo SMeasureInfo);
- //获取样品的属性值
- //ref List<CTreeSampleParam> CTSampleParam : 打开已保存样品文件中的样品信息,用于TREEVIEW显示
- void GetExistSampleInfo(COTSSample SampleClr, ref CTreeSampleParam CTSampleParam);
- //删除样品
- //string sWorkSampleName : 需要删除的工作样品名称
- //返回 需要删除的工作样品名
- bool DeleteWorkSample();
-
- // 当TREEVIEW 的样品参数锁状态发生变化后,Solution 需要将样品参数锁状态发送给MeasureApp更新新的样品参数锁状态
- // string sSampleName : 样品参数锁对应的样品名
- //bool bParaLockFlag: 样品新的排列顺序;
- bool SetSampleLockPara(string sSampleName, bool bFlag);
- //当 OTSSamplespaceWindow 对应的工作样品测量区域发生变化后,需要更改对应的样品测量区域
- //string sWSampleName : 改变工作样品测量区域的样品名
- //int iShape: 测量区域形状
- //Point pStartPoint: 测量区域起点
- //Point pEndPoint : 测量区域终点
- void SetWSampleMeasureArea(string sWSampleName, int iShape, Point PStartPoint, Point PEndPoint);
-
- //修改工作样品的样品名
- //string sSampleNewName : 样品名新名
- bool EditWSampleName(string sSampleNewName);
- // 样品测量
- /// <summary>
- ///
- /// </summary>
- void InitMeasureThread();
- //初始化测量样品
- bool InitMeasureSample();
- // 开始样品测量
- void DoMeasure();
- //停止测量
- void SetMeasureThreadStatus(MSR_THREAD_STATUS ThreadStatus);
- //保存测量样品的
- bool SaveMeasureSampleInfo();
- // 释放MsrThread 指针
- void FreeMsrThreadPoint();
-
- }
- interface OTSImageInterface
- {
- //获取BSE图
- //int iWidth: 宽
- //int iHeigh: 高
- //byte bImageData: 图像数据
- //返回 图像数据长度 = iWidth*iHeigh
- // int GetBSEImage(int iWidth, int iHeigh, ref byte[] bImageData, bool bSimulatFlag = false);
- }
- }
|