zhongyongming 1 سال پیش
والد
کامیت
f87248d7bc

+ 3 - 3
Bin/x64/Debug/Config/ProData/HardwareConfig.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <XMLData PathName="HardwareConfig.xml" ID="1">
   <Member RegName="SemControllerName" Value="OffLine" ImageInputSources="SE" />
-  <Member RegName="EDSName" Value="OffLine" DelayQuantify="true" WeightPercentageToAtomicPercentage="false" />
+  <Member RegName="EDSName" Value="OffLine" DelayQuantify="false" WeightPercentageToAtomicPercentage="false" />
   <Member RegName="BrukerDllVersion" Version="Bruker.API.Esprit64.dll" />
-  <Member RegName="FEIIP" Value="192.168.0.1" />
-  <Member RegName="FEIPORT" Value="7520" />
+  <Member RegName="FEIIP" Value="127.0.0.1" />
+  <Member RegName="FEIPORT" Value="7321" />
   <Member RegName="AcquireClearParticleImage" Value="false" />
 </XMLData>

BIN
OTSCPPDll/OTSClassifyEngine.exp


+ 906 - 0
OTSCPPDll/OTSClrInterface.dll.metagen

@@ -0,0 +1,906 @@
+ImageRuntimeVersion: v4.0.30319
+Assembly OTSClrInterface, Version=0.0.*, Culture=Invariant Language (Invariant Country): 
+	hash=SHA1, flags=PublicKey
+Assembly mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: 
+	hash=None, flags=None
+Assembly System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: 
+	hash=None, flags=None
+Assembly System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: 
+	hash=None, flags=None
+Assembly System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a: 
+	hash=None, flags=None
+Class OTSCLRINTERFACE.COTSSegmentClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.COTSSegment*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSCLRINTERFACE.COTSSegmentClr): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::COTSSegment>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(Int32, Int32, Int32): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetOTSSegmentPtr(shared_ptr<OTSDATA::COTSSegment>*): PrivateScope, Public, HideBySig
+    GetHeight(): PrivateScope, Public, HideBySig
+    SetHeight(Int32 IsLong): PrivateScope, Public, HideBySig
+    GetStart(): PrivateScope, Public, HideBySig
+    SetStart(Int32 IsLong): PrivateScope, Public, HideBySig
+    GetLength(): PrivateScope, Public, HideBySig
+    SetLength(Int32 IsLong): PrivateScope, Public, HideBySig
+    GetEnd(): PrivateScope, Public, HideBySig
+    SetEnd(Int32 IsLong): PrivateScope, Public, HideBySig
+    UpDownConection(COTSSegmentClr): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.COTSFeatureClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSDATA::COTSFeature>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSCLRINTERFACE.COTSFeatureClr): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetOTSFeaturePtr(shared_ptr<OTSDATA::COTSFeature>*): PrivateScope, Public, HideBySig
+    GetSegmentsList(): PrivateScope, Public, HideBySig
+    SetSegmentsList(List`1, Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetSegmentByIndex(Int32): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CElementChemistryClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.CElementChemistry*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSCLRINTERFACE.CElementChemistryClr): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CElementChemistry>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(System.String, Double): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetElementChemistryPtr(shared_ptr<OTSDATA::CElementChemistry>*): PrivateScope, Public, HideBySig
+    GetName(): PrivateScope, Public, HideBySig
+    SetName(String): PrivateScope, Public, HideBySig
+    GetPercentage(): PrivateScope, Public, HideBySig
+    SetPercentage(Double): PrivateScope, Public, HideBySig
+    GetMolarPercentage(): PrivateScope, Public, HideBySig
+    GetAtomNum(String): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CPosXrayClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSCLRINTERFACE.CPosXrayClr): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSDATA.CPosXray*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CPosXray>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetPosXrayPtr(shared_ptr<OTSDATA::CPosXray>*): PrivateScope, Public, HideBySig
+    GetChannelsNum(): PrivateScope, Public, HideBySig
+    GetXrayData(): PrivateScope, Public, HideBySig
+    GetElementQuantifyData(): PrivateScope, Public, HideBySig
+    GetQuantifiedElementsStr(): PrivateScope, Public, HideBySig
+    SetXrayData(UInt32[]): PrivateScope, Public, HideBySig
+    GetTotalCount(): PrivateScope, Public, HideBySig
+    GetMaxHeightPosition(Int32&, Int32&): PrivateScope, Public, HideBySig
+    ClearXrayData(Int32 IsLong): PrivateScope, Public, HideBySig
+    SetXrayDataAtChannel(UInt32 IsLong, Int32 IsLong): PrivateScope, Public, HideBySig
+    GetPosition(): PrivateScope, Public, HideBySig
+    SetPosition(ValueType Point IsBoxed): PrivateScope, Public, HideBySig
+    GetIndex(): PrivateScope, Public, HideBySig
+    SetIndex(Int32 IsLong): PrivateScope, Public, HideBySig
+    GetScanFieldId(): PrivateScope, Public, HideBySig
+    SetScanFieldId(Int32 IsLong): PrivateScope, Public, HideBySig
+    GetPartTagId(): PrivateScope, Public, HideBySig
+    SetPartTagId(Int32 IsLong): PrivateScope, Public, HideBySig
+    GetFeatureId(): PrivateScope, Public, HideBySig
+    SetFeatureId(Int32 IsLong): PrivateScope, Public, HideBySig
+    SetElementQuantifyData(List`1): PrivateScope, Public, HideBySig
+    AddQuantifyElement(CElementChemistryClr): PrivateScope, Public, HideBySig
+    NormalizeXrayQuantifyData(): PrivateScope, Public, HideBySig
+    SetElementNum(Int32): PrivateScope, Public, HideBySig
+    GetElementNum(): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.COTSParticleClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.COTSParticle*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSCLRINTERFACE.COTSParticleClr): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::COTSParticle>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetOTSParticlePtr(shared_ptr<OTSDATA::COTSParticle>*): PrivateScope, Public, HideBySig
+    GetParticleRect(): PrivateScope, Public, HideBySig
+    SetParticleRect(ValueType Rectangle IsBoxed): PrivateScope, Public, HideBySig
+    SetOTSRect(Int32, Int32, Int32, Int32): PrivateScope, Public, HideBySig
+    GetOTSRect(Int32&, Int32&, Int32&, Int32&): PrivateScope, Public, HideBySig
+    GetType(): PrivateScope, Public, HideBySig
+    SetType(Int32): PrivateScope, Public, HideBySig
+    GetClassifyId(): PrivateScope, Public, HideBySig
+    SetClassifyId(Int32): PrivateScope, Public, HideBySig
+    GetActualArea(): PrivateScope, Public, HideBySig
+    SetActualArea(Double): PrivateScope, Public, HideBySig
+    GetPixelArea(): PrivateScope, Public, HideBySig
+    GetAveGray(): PrivateScope, Public, HideBySig
+    SetAveGray(Byte): PrivateScope, Public, HideBySig
+    GetXRayPos(): PrivateScope, Public, HideBySig
+    SetXRayPos(ValueType Point IsBoxed): PrivateScope, Public, HideBySig
+    GetXrayMatrixPoints(): PrivateScope, Public, HideBySig
+    SetXrayMatrixPoints(ValueType[]): PrivateScope, Public, HideBySig
+    CalXrayPos(): PrivateScope, Public, HideBySig
+    CalCoverRectFromSegment(): PrivateScope, Public, HideBySig
+    SetSEMPos(ValueType Point IsBoxed): PrivateScope, Public, HideBySig
+    GetSEMPos(): PrivateScope, Public, HideBySig
+    GetFeature(): PrivateScope, Public, HideBySig
+    SetFeature(COTSFeatureClr): PrivateScope, Public, HideBySig
+    SetXray(CPosXrayClr): PrivateScope, Public, HideBySig
+    GetXray(): PrivateScope, Public, HideBySig
+    GetParticleId(): PrivateScope, Public, HideBySig
+    SetParticleId(Int32): PrivateScope, Public, HideBySig
+    GetAnalysisId(): PrivateScope, Public, HideBySig
+    SetAnalysisId(Int32): PrivateScope, Public, HideBySig
+    GetFieldId(): PrivateScope, Public, HideBySig
+    SetFieldId(Int32): PrivateScope, Public, HideBySig
+    GetDMAX(): PrivateScope, Public, HideBySig
+    SetDMAX(Double): PrivateScope, Public, HideBySig
+    GetDMIN(): PrivateScope, Public, HideBySig
+    SetDMIN(Double): PrivateScope, Public, HideBySig
+    GetDMPERP(): PrivateScope, Public, HideBySig
+    SetDMPERP(Double): PrivateScope, Public, HideBySig
+    GetDINSCR(): PrivateScope, Public, HideBySig
+    SetDINSCR(Double): PrivateScope, Public, HideBySig
+    GetDMEAN(): PrivateScope, Public, HideBySig
+    SetDMEAN(Double): PrivateScope, Public, HideBySig
+    GetDELONG(): PrivateScope, Public, HideBySig
+    SetDELONG(Double): PrivateScope, Public, HideBySig
+    GetDPRIMETER(): PrivateScope, Public, HideBySig
+    SetDPRIMETER(Double): PrivateScope, Public, HideBySig
+    GetORIENTATION(): PrivateScope, Public, HideBySig
+    SetORIENTATION(Double): PrivateScope, Public, HideBySig
+    GetEqualCircleDiameter(): PrivateScope, Public, HideBySig
+    GetFeretDiameter(): PrivateScope, Public, HideBySig
+    SetFeretDiameter(Double): PrivateScope, Public, HideBySig
+    CalculateSimilarity(COTSParticleClr): PrivateScope, Public, HideBySig
+    GetImgPortraitString(): PrivateScope, Public, HideBySig
+    GetTypeName(): PrivateScope, Public, HideBySig
+    SetTypeName(String): PrivateScope, Public, HideBySig
+    GetTypeColor(): PrivateScope, Public, HideBySig
+    SetTypeColor(String): PrivateScope, Public, HideBySig
+    GetConnectedParticlesName(): PrivateScope, Public, HideBySig
+    SetConnectedParticlesName(String): PrivateScope, Public, HideBySig
+    GetGrpName(): PrivateScope, Public, HideBySig
+    SetGrpName(String): PrivateScope, Public, HideBySig
+    GetGrpColor(): PrivateScope, Public, HideBySig
+    SetGrpColor(String): PrivateScope, Public, HideBySig
+    GetGrpId(): PrivateScope, Public, HideBySig
+    SetGrpId(Int32): PrivateScope, Public, HideBySig
+    IsXrayParticle(): PrivateScope, Public, HideBySig
+    SetIsXrayParticle(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetSubParticles(): PrivateScope, Public, HideBySig
+    SetSubParticles(List`1): PrivateScope, Public, HideBySig
+    ClearSubParticles(): PrivateScope, Public, HideBySig
+    AddSubParticle(COTSParticleClr): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.COTSClassifyEngineClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSCLRINTERFACE.EngineType, System.String): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Methods:
+    ReloadEngineDB(): PrivateScope, Public, HideBySig
+    ClassifyByExpression(COTSParticleClr): PrivateScope, Public, HideBySig
+    ClassifyBySpectrum(COTSParticleClr): PrivateScope, Public, HideBySig
+    ClassifyByExpressionTemporarySpectrum(COTSParticleClr): PrivateScope, Public, HideBySig
+    ClassifyIncA(COTSParticleClr, Int32): PrivateScope, Public, HideBySig
+    IfNeedMaxEDS(COTSParticleClr, Double&): PrivateScope, Public, HideBySig
+    ZeroElementProcess(COTSParticleClr): PrivateScope, Public, HideBySig
+Struct OTSCLRINTERFACE.EngineType: AutoLayout, AnsiClass, Class, Public, Sealed, BeforeFieldInit
+  :System.Enum
+  Fields:
+    Int32 value__ : Public, SpecialName, RTSpecialName
+    OTSCLRINTERFACE.EngineType ExpressionClassifyEng = 1 : Public, Static, Literal, HasDefault
+    OTSCLRINTERFACE.EngineType InclutionEng = 2 : Public, Static, Literal, HasDefault
+    OTSCLRINTERFACE.EngineType SpectrumCompare = 3 : Public, Static, Literal, HasDefault
+Class OTSCLRINTERFACE.CBSEImgClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.CBSEImg*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSCLRINTERFACE.CBSEImgClr): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CBSEImg>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(System.ValueType): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetImageRect(): PrivateScope, Public, HideBySig
+    SetImageRect(ValueType Rectangle IsBoxed): PrivateScope, Public, HideBySig
+    GetWidth(): PrivateScope, Public, HideBySig
+    GetHeight(): PrivateScope, Public, HideBySig
+    InitImageData(Int32, Int32): PrivateScope, Public, HideBySig
+    GetImageDataPtr(): PrivateScope, Public, HideBySig
+    SetImageData(Byte[], Int32, Int32): PrivateScope, Public, HideBySig
+    GetImageSize(): PrivateScope, Public, HideBySig
+    SetChartData(): PrivateScope, Public, HideBySig
+    GetBSEChart(UInt16[]&): PrivateScope, Public, HideBySig
+    CalBSEChartHigh(): PrivateScope, Public, HideBySig
+    CalBSEChartLow(): PrivateScope, Public, HideBySig
+    GetBSEValue(Int32 IsConst, Int32 IsConst): PrivateScope, Public, HideBySig
+    GetBSEValue(ValueType Point IsBoxed): PrivateScope, Public, HideBySig
+    SetBSEValue(Int32 IsConst, Int32 IsConst, Int32): PrivateScope, Public, HideBySig
+    GetValueDirect(ValueType Point IsBoxed): PrivateScope, Public, HideBySig
+    GetValueDirectF(Int32, Int32): PrivateScope, Public, HideBySig
+    DoesContainPixelValue(Int32, Int32): PrivateScope, Public, HideBySig
+    CalArea(): PrivateScope, Public, HideBySig
+    GetBSEImgPtr(shared_ptr<OTSDATA::CBSEImg>*): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CDomainClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.CDomain*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(Int32, System.ValueType): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CDomain>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    MyDispose(): PrivateScope, Public, HideBySig
+    IsInvalid(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask
+    IsEmpty(): PrivateScope, Public, HideBySig
+    IsRound(): PrivateScope, Public, HideBySig
+    IsRect(): PrivateScope, Public, HideBySig
+    GetDomainCenter(): PrivateScope, Public, HideBySig
+    OffsetDomain(Point): PrivateScope, Public, HideBySig
+    GetDiameter(): PrivateScope, Public, HideBySig
+    IntersectDomain(CDomainClr): PrivateScope, Public, HideBySig
+    PtInDomain(ValueType Point IsBoxed): PrivateScope, Public, HideBySig
+    SetShape(Int32): PrivateScope, Public, HideBySig
+    GetShape(): PrivateScope, Public, HideBySig
+    SetRectDomain(Rectangle): PrivateScope, Public, HideBySig
+    GetRectDomain(): PrivateScope, Public, HideBySig
+    DomainInDomain(CDomainClr): PrivateScope, Public, HideBySig
+    GetDomainPtr(shared_ptr<OTSDATA::CDomain>*): PrivateScope, Public, HideBySig
+    GetPolygonPoint(): PrivateScope, Public, HideBySig
+    SetPolygonPoint(List`1): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CDoubleRangeClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.CDoubleRange*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CDoubleRange>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(Double, Double): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    DataInRange(Double): PrivateScope, Public, HideBySig
+    GetStart(): PrivateScope, Public, HideBySig
+    SetStart(Double): PrivateScope, Public, HideBySig
+    GetEnd(): PrivateScope, Public, HideBySig
+    SetEnd(Double): PrivateScope, Public, HideBySig
+    GetCDoubleRangePtr(shared_ptr<OTSDATA::CDoubleRange>*): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CHoleClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.CHole*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CHole>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(System.String, Int32, System.ValueType): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetHolePtr(shared_ptr<OTSDATA::CHole>*): PrivateScope, Public, HideBySig
+    GetName(): PrivateScope, Public, HideBySig
+    SetName(String): PrivateScope, Public, HideBySig
+    GetShape(): PrivateScope, Public, HideBySig
+    GetRectDomain(): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CIntRangeClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(Int32, Int32): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CIntRange>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    DataInRange(Int32): PrivateScope, Public, HideBySig
+    GetStart(): PrivateScope, Public, HideBySig
+    SetStart(Int32): PrivateScope, Public, HideBySig
+    GetEnd(): PrivateScope, Public, HideBySig
+    SetEnd(Int32): PrivateScope, Public, HideBySig
+    GetCIntRangePtr(shared_ptr<OTSDATA::CIntRange>*): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.COTSFieldDataClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSDATA::COTSFieldData>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetOTSFieldDataPtr(shared_ptr<OTSDATA::COTSFieldData>*): PrivateScope, Public, HideBySig
+    GetId(): PrivateScope, Public, HideBySig
+    SetId(Int32): PrivateScope, Public, HideBySig
+    GetPosition(): PrivateScope, Public, HideBySig
+    SetPosition(Int32, Int32): PrivateScope, Public, HideBySig
+    SetOTSRect(Double, Double, Double, Double): PrivateScope, Public, HideBySig
+    GetParticleList(): PrivateScope, Public, HideBySig
+    SetParticleList(List`1): PrivateScope, Public, HideBySig
+    AddParticle(COTSParticleClr): PrivateScope, Public, HideBySig
+    SetImageWidth(Int32): PrivateScope, Public, HideBySig
+    SetImageHeight(Int32): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CSEMDataGnrClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.CSEMDataGnr*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CSEMDataGnr>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetCSEMDataGnrPtr(shared_ptr<OTSDATA::CSEMDataGnr>*): PrivateScope, Public, HideBySig
+    GetKV(): PrivateScope, Public, HideBySig
+    SetKV(Double): PrivateScope, Public, HideBySig
+    GetBrightness(): PrivateScope, Public, HideBySig
+    SetBrightness(Double): PrivateScope, Public, HideBySig
+    GetContrast(): PrivateScope, Public, HideBySig
+    SetContrast(Double): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CSEMDataMsrClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSDATA::CSEMDataMsr>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSDATA.CSEMDataMsr*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetSEMDataMsrPtr(shared_ptr<OTSDATA::CSEMDataMsr>*): PrivateScope, Public, HideBySig
+    GetScanFieldSize(): PrivateScope, Public, HideBySig
+    SetScanFieldSize(Int32): PrivateScope, Public, HideBySig
+    GetMagnification(): PrivateScope, Public, HideBySig
+    SetMagnification(Double): PrivateScope, Public, HideBySig
+    GetScanFieldSize100(): PrivateScope, Public, HideBySig
+    SetScanFieldSize100(Int32): PrivateScope, Public, HideBySig
+    GetWorkingDistance(): PrivateScope, Public, HideBySig
+    SetWorkingDistance(Double): PrivateScope, Public, HideBySig
+    GetTotalFields(): PrivateScope, Public, HideBySig
+    SetTotalFields(Int32): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CSEMStageDataClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.CSEMStageData*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CSEMStageData>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetScanFieldSize100(): PrivateScope, Public, HideBySig
+    SetScanFieldSize100(Int32): PrivateScope, Public, HideBySig
+    GetXAxisDir(): PrivateScope, Public, HideBySig
+    SetXAxisDir(Int32): PrivateScope, Public, HideBySig
+    GetYAxisDir(): PrivateScope, Public, HideBySig
+    SetYAxisDir(Int32): PrivateScope, Public, HideBySig
+    GetXAxis(): PrivateScope, Public, HideBySig
+    SetXAxis(CIntRangeClr): PrivateScope, Public, HideBySig
+    GetYAxis(): PrivateScope, Public, HideBySig
+    SetYAxis(CIntRangeClr): PrivateScope, Public, HideBySig
+    GetCSEMStageData(shared_ptr<OTSDATA::CSEMStageData>*): PrivateScope, Public, HideBySig
+    GetMinMag(): PrivateScope, Public, HideBySig
+    SetMinMag(Double): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CStageClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.CStage*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CStage>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetName(): PrivateScope, Public, HideBySig
+    SetName(String): PrivateScope, Public, HideBySig
+    GetBourary(): PrivateScope, Public, HideBySig
+    SetBoundary(CDomainClr): PrivateScope, Public, HideBySig
+    GetSTD(): PrivateScope, Public, HideBySig
+    SetSTD(CDomainClr): PrivateScope, Public, HideBySig
+    GetHoleList(): PrivateScope, Public, HideBySig
+    SetHoleList(List`1): PrivateScope, Public, HideBySig
+    GetStagePtr(shared_ptr<OTSDATA::CStage>*): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.COTSControlFunExport: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetControllerInstance(String): PrivateScope, Public, Static, HideBySig
+    ConncetSem(): PrivateScope, Public, HideBySig
+    DisconnectSem(): PrivateScope, Public, HideBySig
+    IsConnected(): PrivateScope, Public, HideBySig
+    ScanInit(): PrivateScope, Public, HideBySig
+    EDSInit(): PrivateScope, Public, HideBySig
+    GetSemType(): PrivateScope, Public, HideBySig
+    GetSemBeamBlank(Int32&): PrivateScope, Public, HideBySig
+    SetSemBeamBlank(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    SetSemBeamCurrent(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetSemBrightness(Double&): PrivateScope, Public, HideBySig
+    SetSemBrightness(Double): PrivateScope, Public, HideBySig
+    GetSemContrast(Double&): PrivateScope, Public, HideBySig
+    SetSemContrast(Double): PrivateScope, Public, HideBySig
+    GetSemWorkingDistance(Double&): PrivateScope, Public, HideBySig
+    SetSemWorkingDistance(Double): PrivateScope, Public, HideBySig
+    GetSemHighTension(Double&): PrivateScope, Public, HideBySig
+    SetSemHighTension(Double): PrivateScope, Public, HideBySig
+    GetSemMagnification(Double&): PrivateScope, Public, HideBySig
+    SetSemMagnification(Double): PrivateScope, Public, HideBySig
+    GetSemScanFieldSize(Double&, Double&): PrivateScope, Public, HideBySig
+    SetSemScanFieldSizeX(Double): PrivateScope, Public, HideBySig
+    GetSemHTOnOff(Boolean&): PrivateScope, Public, HideBySig
+    SetSemHTOnOff(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetSemPositionXY(Double&, Double&, Double&): PrivateScope, Public, HideBySig
+    SetSemPositionXY(Double, Double): PrivateScope, Public, HideBySig
+    SetSemPositionXY(Double, Double, Double): PrivateScope, Public, HideBySig
+    GetSemSpotSize(Double&): PrivateScope, Public, HideBySig
+    SetSemSpotSize(Double): PrivateScope, Public, HideBySig
+    SetSemScanExternal(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetSemExternalMode(): PrivateScope, Public, HideBySig
+    MoveSEMToPoint(Double, Double): PrivateScope, Public, HideBySig
+    MoveSEMToPoint(Double, Double, Double): PrivateScope, Public, HideBySig
+    EDSGetType(): PrivateScope, Public, HideBySig
+    CollectSpectrum(UInt32 IsLong, UInt32[]&): PrivateScope, Public, HideBySig
+    CollectSpectrum(UInt32 IsLong, UInt32[]&, UInt32 IsLong): PrivateScope, Public, HideBySig
+    CollectSpectrum(UInt32 IsLong, Point, UInt32[]&): PrivateScope, Public, HideBySig
+    GetXRayByPoints(UInt32 IsLong, Point[], COTSParticleClr[], Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetXRayByPoints(UInt32 IsLong, CPosXrayClr[]&, Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    QuantifyXrayByParts(COTSParticleClr[]): PrivateScope, Public, HideBySig
+    QuantifyXrayByPart(COTSParticleClr): PrivateScope, Public, HideBySig
+    GetXRayBySinglePoint(UInt32 IsLong, Point, UInt32[]&, String&, Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetXRayByFeatures(UInt32 IsLong, COTSParticleClr[], Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetXRayByFeatures(UInt32 IsLong, COTSFeatureClr[], UInt32[][]&, String[]&, Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetXRayBySingleFeature(UInt32 IsLong, COTSFeatureClr, UInt32[]&, String&, Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetXRayAndElements(UInt32 IsLong, Int32, Int32, UInt32[]&, ValueType&, String&): PrivateScope, Public, HideBySig
+    GetLiveTime(): PrivateScope, Public, HideBySig
+    GetMaxPointLimit(): PrivateScope, Public, HideBySig
+    AcquireBSEImage(CBSEImgClr&): PrivateScope, Public, HideBySig
+    AcquireBSEImage(Byte[]&): PrivateScope, Public, HideBySig
+    GetScanType(): PrivateScope, Public, HideBySig
+    SetImageSize(Int32 IsLong, Int32 IsLong): PrivateScope, Public, HideBySig
+    SetDwellTime(Int32 IsLong): PrivateScope, Public, HideBySig
+    MoveBeamTo(Point): PrivateScope, Public, HideBySig
+    StopXrayAcquisition(): PrivateScope, Public, HideBySig
+    SetExpectCount(Int32): PrivateScope, Public, HideBySig
+    GetExpectCount(): PrivateScope, Public, HideBySig
+    SetQuantificationParam(Boolean(HasFieldMarshal), String): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.COTSImgScanPrmClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSIMGPROC::COTSImageScanParam>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSIMGPROC.COTSImageScanParam*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetImgScanPrmPtr(shared_ptr<OTSIMGPROC::COTSImageScanParam>*): PrivateScope, Public, HideBySig
+    GetStopMode(): PrivateScope, Public, HideBySig
+    SetStopMode(Int32): PrivateScope, Public, HideBySig
+    GetStopParamMeasTime(): PrivateScope, Public, HideBySig
+    SetStopParamMeasTime(Int32): PrivateScope, Public, HideBySig
+    GetStopParamFields(): PrivateScope, Public, HideBySig
+    SetStopParamFields(Int32): PrivateScope, Public, HideBySig
+    GetStopParamParticles(): PrivateScope, Public, HideBySig
+    SetStopParamParticles(Int32): PrivateScope, Public, HideBySig
+    GetStartImageMode(): PrivateScope, Public, HideBySig
+    SetStartImageMode(Int32): PrivateScope, Public, HideBySig
+    GetImagePixelSize(): PrivateScope, Public, HideBySig
+    SetImagePixelSize(Int32): PrivateScope, Public, HideBySig
+    GetScanImageSpeed(): PrivateScope, Public, HideBySig
+    SetScanImageSpeed(Int32): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CFieldMgrClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSIMGPROC::CFieldMgr>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(Int32, System.Drawing.Size): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetCFiledMgrPtr(shared_ptr<OTSIMGPROC::CFieldMgr>*): PrivateScope, Public, HideBySig
+    Init(CDomainClr, Int32): PrivateScope, Public, HideBySig
+    GetEffectiveFieldWidth(): PrivateScope, Public, HideBySig
+    GetEffectiveFieldHeight(): PrivateScope, Public, HideBySig
+    GetFieldCentrePoints(): PrivateScope, Public, HideBySig
+    GetTotalFields(): PrivateScope, Public, HideBySig
+    GetUnmeasuredFieldCentrePoints(List`1): PrivateScope, Public, HideBySig
+    IsThisPointInMeasureArea(ValueType Point IsBoxed): PrivateScope, Public, HideBySig
+    GetMeasureArea(): PrivateScope, Public, HideBySig
+    SetMeasureArea(CDomainClr): PrivateScope, Public, HideBySig
+    GetOverlap(): PrivateScope, Public, HideBySig
+    SetOverlap(Int32): PrivateScope, Public, HideBySig
+    FindNeighborField(List`1, Point, Point&, Int32): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.COTSImgProcPrmClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSIMGPROC::COTSImageProcessParam>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSIMGPROC.COTSImageProcessParam*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetImgPrcPrmPtr(shared_ptr<OTSIMGPROC::COTSImageProcessParam>*): PrivateScope, Public, HideBySig
+    GetIncArea(): PrivateScope, Public, HideBySig
+    SetIncArea(CDoubleRangeClr): PrivateScope, Public, HideBySig
+    GetBGGray(): PrivateScope, Public, HideBySig
+    SetBGGray(CIntRangeClr): PrivateScope, Public, HideBySig
+    GetParticleGray(): PrivateScope, Public, HideBySig
+    SetParticleGray(CIntRangeClr): PrivateScope, Public, HideBySig
+    GetBGRemoveType(): PrivateScope, Public, HideBySig
+    SetBGRemoveType(Int32): PrivateScope, Public, HideBySig
+    GetAutoBGRemoveType(): PrivateScope, Public, HideBySig
+    SetAutoBGRemoveType(Int32): PrivateScope, Public, HideBySig
+    GetOverlapParam(): PrivateScope, Public, HideBySig
+    SetOverlapParam(Int32): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.ImageProForClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSCLRINTERFACE.COTSImgProcPrmClr): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Methods:
+    UpdateImageProcessParam(COTSImgProcPrmClr): PrivateScope, Public, HideBySig
+    GetFieldDataFromImage(CBSEImgClr, COTSImgProcPrmClr, Double, COTSFieldDataClr): PrivateScope, Public, HideBySig
+    GetParticlesBySpecialPartGrayRange(CBSEImgClr, CIntRangeClr, CDoubleRangeClr, Double, COTSFieldDataClr): PrivateScope, Public, HideBySig
+    CalcuParticleImagePropertes(COTSParticleClr, Double): PrivateScope, Public, HideBySig
+    MergeBigBoundaryParticles(List`1, Double, Int32, Size, List`1): PrivateScope, Public, HideBySig
+    RemoveBackGround(CBSEImgClr, COTSImgProcPrmClr, CBSEImgClr): PrivateScope, Public, HideBySig
+    GetSpecialGrayRangeImage(CBSEImgClr, CIntRangeClr, CBSEImgClr, Int32&): PrivateScope, Public, HideBySig
+Class OTSCLRINTERFACE.CGridRowClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSDATA::CGridRow>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetGridRowPtr(shared_ptr<OTSDATA::CGridRow>*): PrivateScope, Public, HideBySig
+    GetDataType(): PrivateScope, Public, HideBySig
+    SetDataType(Int32): PrivateScope, Public, HideBySig
+    GetStringValue(): PrivateScope, Public, HideBySig
+    SetStringValue(String): PrivateScope, Public, HideBySig
+    GetParticle(): PrivateScope, Public, HideBySig
+    SetParticle(COTSParticleClr): PrivateScope, Public, HideBySig
+    GetIntValue(): PrivateScope, Public, HideBySig
+    SetIntValue(Int32): PrivateScope, Public, HideBySig
+    GetDoubleValue(): PrivateScope, Public, HideBySig
+    SetDoubleValue(Double): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CGridColumnClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.CGridColumn*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CGridColumn>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetGridColumnPtr(shared_ptr<OTSDATA::CGridColumn>*): PrivateScope, Public, HideBySig
+    GetName(): PrivateScope, Public, HideBySig
+    SetName(String): PrivateScope, Public, HideBySig
+    GetRowList(): PrivateScope, Public, HideBySig
+    SetGridRowsList(List`1, Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CGridDataClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSDATA.CGridData*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSDATA::CGridData>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetGridDataPtr(shared_ptr<OTSDATA::CGridData>*): PrivateScope, Public, HideBySig
+    GetGridColumnList(): PrivateScope, Public, HideBySig
+    SetGridColumnList(List`1, Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetDataSourceList(): PrivateScope, Public, HideBySig
+    SetDataSourceList(List`1): PrivateScope, Public, HideBySig
+    GetDataSourceId(): PrivateScope, Public, HideBySig
+    SetDataSourceId(Int32): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.COTSXRayPrmClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSDATA::COTSXRayParam>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSDATA.COTSXRayParam*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetCOTSXRayPrmPtr(shared_ptr<OTSDATA::COTSXRayParam>*): PrivateScope, Public, HideBySig
+    GetScanMode(): PrivateScope, Public, HideBySig
+    SetScanMode(Int32): PrivateScope, Public, HideBySig
+    GetShowScanMode(): PrivateScope, Public, HideBySig
+    SetShowScanMode(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetSearchSpeed(): PrivateScope, Public, HideBySig
+    SetSearchSpeed(Int32): PrivateScope, Public, HideBySig
+    GetSearchCount(): PrivateScope, Public, HideBySig
+    SetSearchCount(Int32): PrivateScope, Public, HideBySig
+    GetAnalySpeed(): PrivateScope, Public, HideBySig
+    SetAnalySpeed(Int32): PrivateScope, Public, HideBySig
+    GetShowSpeed(): PrivateScope, Public, HideBySig
+    SetShowSpeed(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetAnalyExpCount(): PrivateScope, Public, HideBySig
+    SetAnalyExpCount(Int32): PrivateScope, Public, HideBySig
+    GetShowExpCount(): PrivateScope, Public, HideBySig
+    SetShowExpCount(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetMidSearchAQTime(): PrivateScope, Public, HideBySig
+    SetMidSearchAQTime(Int32): PrivateScope, Public, HideBySig
+    GetLowSearchAQTime(): PrivateScope, Public, HideBySig
+    SetLowSearchAQTime(Int32): PrivateScope, Public, HideBySig
+    GetHighSearchAQTime(): PrivateScope, Public, HideBySig
+    SetHightSearchAQTime(Int32): PrivateScope, Public, HideBySig
+    GetMidAnalyAQTime(): PrivateScope, Public, HideBySig
+    SetMidAnalyAQTime(Int32): PrivateScope, Public, HideBySig
+    GetLowAnalyAQTime(): PrivateScope, Public, HideBySig
+    SetLowAnalyAQTime(Int32): PrivateScope, Public, HideBySig
+    GetHighAnalyAQTime(): PrivateScope, Public, HideBySig
+    SetHighAnalyAQTime(Int32): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CMsrParamsClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CMsrParams>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSMODEL.CMsrParams*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetMsrParamsPtr(shared_ptr<OTSMODEL::CMsrParams>*): PrivateScope, Public, HideBySig
+    GetName(): PrivateScope, Public, HideBySig
+    SetName(String): PrivateScope, Public, HideBySig
+    GetSteelTechnology(): PrivateScope, Public, HideBySig
+    SetSteelTechnology(Int32): PrivateScope, Public, HideBySig
+    GetImageScanParam(): PrivateScope, Public, HideBySig
+    SetImageScanParam(COTSImgScanPrmClr): PrivateScope, Public, HideBySig
+    GetImageProcessParam(): PrivateScope, Public, HideBySig
+    SetImageProcessParam(COTSImgProcPrmClr): PrivateScope, Public, HideBySig
+    GetXRayParam(): PrivateScope, Public, HideBySig
+    SetXRayParam(COTSXRayPrmClr): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CMsrParamFileMrgClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(OTSMODEL.CMsrParamFileMrg*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(std.shared_ptr<OTSMODEL::CMsrParamFileMrg>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetMsrParamFileMgrPtr(shared_ptr<OTSMODEL::CMsrParamFileMrg>*): PrivateScope, Public, HideBySig
+    Load(String, Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    Save(String): PrivateScope, Public, HideBySig
+    GetPathName(): PrivateScope, Public, HideBySig
+    GetMsrParams(): PrivateScope, Public, HideBySig
+    SetMsrParamFile(CMsrParamsClr): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CMsrResultItemClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CMsrResultItem>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetMsrResultItemPtr(shared_ptr<OTSMODEL::CMsrResultItem>*): PrivateScope, Public, HideBySig
+    GetTypeId(): PrivateScope, Public, HideBySig
+    SetTypeId(Int32): PrivateScope, Public, HideBySig
+    GetArea(): PrivateScope, Public, HideBySig
+    SetArea(UInt32 IsLong): PrivateScope, Public, HideBySig
+    GetNumber(): PrivateScope, Public, HideBySig
+    SetNumber(UInt32 IsLong): PrivateScope, Public, HideBySig
+    GetName(): PrivateScope, Public, HideBySig
+    SetName(String): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CMsrResultsClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CMsrResults>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetMsrResultsPtr(shared_ptr<OTSMODEL::CMsrResults>*): PrivateScope, Public, HideBySig
+    GetRadio(): PrivateScope, Public, HideBySig
+    SetRadio(Double): PrivateScope, Public, HideBySig
+    GetMeasuredArea(): PrivateScope, Public, HideBySig
+    SetMeasuredArea(UInt32 IsLong): PrivateScope, Public, HideBySig
+    GetResultItems(): PrivateScope, Public, HideBySig
+    SetResultItems(List`1): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CMsrSampleStatusClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CMsrSampleStatus>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetMsrSampleStatusPtr(shared_ptr<OTSMODEL::CMsrSampleStatus>*): PrivateScope, Public, HideBySig
+    GetStatus(): PrivateScope, Public, HideBySig
+    SetStatus(Int32): PrivateScope, Public, HideBySig
+    GetStartTime(): PrivateScope, Public, HideBySig
+    SetStartTime(ValueType DateTime IsBoxed): PrivateScope, Public, HideBySig
+    GetUsedTime(): PrivateScope, Public, HideBySig
+    SetUsedTime(ValueType TimeSpan IsBoxed): PrivateScope, Public, HideBySig
+    GetEndTime(): PrivateScope, Public, HideBySig
+    SetEndTime(ValueType DateTime IsBoxed): PrivateScope, Public, HideBySig
+    GetCompletedFields(): PrivateScope, Public, HideBySig
+    SetCompletedFields(Int32): PrivateScope, Public, HideBySig
+    GetCpltedCenter(): PrivateScope, Public, HideBySig
+    SetCpltedCenter(List`1): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CPropItemClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CPropItem>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSMODEL.CPropItem*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetCPropItemPtr(shared_ptr<OTSMODEL::CPropItem>*): PrivateScope, Public, HideBySig
+    GetName(): PrivateScope, Public, HideBySig
+    SetName(String): PrivateScope, Public, HideBySig
+    GetDescription(): PrivateScope, Public, HideBySig
+    SetDescription(String): PrivateScope, Public, HideBySig
+    GetSmplItemId(): PrivateScope, Public, HideBySig
+    SetSmplItemId(Int32): PrivateScope, Public, HideBySig
+    GetReportItemId(): PrivateScope, Public, HideBySig
+    SetReportItemId(Int32): PrivateScope, Public, HideBySig
+    GetTypeId(): PrivateScope, Public, HideBySig
+    SetTypeId(Int32): PrivateScope, Public, HideBySig
+    IsReadOnly(): PrivateScope, Public, HideBySig
+    SetReadOnly(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CPropItemGrpClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CPropItemGrp>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(OTSMODEL.CPropItemGrp*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetPropItemGrpPtr(shared_ptr<OTSMODEL::CPropItemGrp>*): PrivateScope, Public, HideBySig
+    GetName(): PrivateScope, Public, HideBySig
+    SetName(String): PrivateScope, Public, HideBySig
+    GetGroupId(): PrivateScope, Public, HideBySig
+    SetGroupId(Int32): PrivateScope, Public, HideBySig
+    GetItemsList(): PrivateScope, Public, HideBySig
+    SetItemsList(List`1): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.COTSSampleClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::COTSSample>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetSamplePtr(shared_ptr<OTSMODEL::COTSSample>*): PrivateScope, Public, HideBySig
+    GetName(): PrivateScope, Public, HideBySig
+    SetName(String): PrivateScope, Public, HideBySig
+    GetSampleHoleName(): PrivateScope, Public, HideBySig
+    SetSampleHoleName(String): PrivateScope, Public, HideBySig
+    GetParamLock(): PrivateScope, Public, HideBySig
+    SetParamLock(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetSwitch(): PrivateScope, Public, HideBySig
+    SetSwitch(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetMsrParams(): PrivateScope, Public, HideBySig
+    SetMsrParams(CMsrParamsClr): PrivateScope, Public, HideBySig
+    GetMsrArea(): PrivateScope, Public, HideBySig
+    SetMsrArea(CDomainClr): PrivateScope, Public, HideBySig
+    GetSEMDataMsr(): PrivateScope, Public, HideBySig
+    SetSEMDataMsr(CSEMDataMsrClr): PrivateScope, Public, HideBySig
+    GetMsrStatus(): PrivateScope, Public, HideBySig
+    SetMsrStatus(CMsrSampleStatusClr): PrivateScope, Public, HideBySig
+    GetMsrResults(): PrivateScope, Public, HideBySig
+    SetMsrResults(CMsrResultsClr): PrivateScope, Public, HideBySig
+    HasMeasureResult(): PrivateScope, Public, HideBySig
+    GetBSESize(Int32&, Int32&): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CPropParamClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CPropParam>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(Int32): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetPropParamPtr(shared_ptr<OTSMODEL::CPropParam>*): PrivateScope, Public, HideBySig
+    GetType(): PrivateScope, Public, HideBySig
+    SetType(Int32): PrivateScope, Public, HideBySig
+    GetPropItemsList(): PrivateScope, Public, HideBySig
+    SetPropertyItems(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask
+    GetDataSourceList(): PrivateScope, Public, HideBySig
+    SetDataSourceList(List`1): PrivateScope, Public, HideBySig
+    GetDataSourceId(): PrivateScope, Public, HideBySig
+    SetDataSourceId(Int32): PrivateScope, Public, HideBySig
+    GetDataSourceType(): PrivateScope, Public, HideBySig
+    SetDataSourceType(Int32): PrivateScope, Public, HideBySig
+    GetSelectParticle(): PrivateScope, Public, HideBySig
+    SetSelectParticle(List`1): PrivateScope, Public, HideBySig
+    GetImageType(): PrivateScope, Public, HideBySig
+    SetImageType(Int32): PrivateScope, Public, HideBySig
+    GetImageDisplayType(): PrivateScope, Public, HideBySig
+    SetImageDisplayType(Int32): PrivateScope, Public, HideBySig
+    GetMeasureDataType(): PrivateScope, Public, HideBySig
+    SetMeasureDataType(Int32): PrivateScope, Public, HideBySig
+    GetCalTableType(): PrivateScope, Public, HideBySig
+    SetCalTableType(Int32): PrivateScope, Public, HideBySig
+    GetCalChartType(): PrivateScope, Public, HideBySig
+    SetCalChartType(Int32): PrivateScope, Public, HideBySig
+    GetPartType(): PrivateScope, Public, HideBySig
+    SetPartType(Int32): PrivateScope, Public, HideBySig
+    GetGrainSizeMax(): PrivateScope, Public, HideBySig
+    SetGrainSizeMax(Double): PrivateScope, Public, HideBySig
+    GetSizeCalMethodType(): PrivateScope, Public, HideBySig
+    SetSizeCalMethodType(Int32): PrivateScope, Public, HideBySig
+    GetPropComboData(Int32, Int32&): PrivateScope, Public, HideBySig
+    SetPropComboData(Int32, Int32): PrivateScope, Public, HideBySig
+    GetPropDoubleData(Int32, Double&): PrivateScope, Public, HideBySig
+    SetPropDoubleData(Int32, Double): PrivateScope, Public, HideBySig
+    GetRelatedPropItem(Int32, Int32&): PrivateScope, Public, HideBySig
+    UpdateAll(Int32): PrivateScope, Public, HideBySig
+    GetTopName(CStringT<char\,StrTraitMFC_DLL<char\,ATL::ChTraitsCRT<char> > >*): PrivateScope, Public, HideBySig
+    SetTopName(String): PrivateScope, Public, HideBySig
+    GetLeftName(CStringT<char\,StrTraitMFC_DLL<char\,ATL::ChTraitsCRT<char> > >*): PrivateScope, Public, HideBySig
+    SetLeftName(String): PrivateScope, Public, HideBySig
+    GetRightName(CStringT<char\,StrTraitMFC_DLL<char\,ATL::ChTraitsCRT<char> > >*): PrivateScope, Public, HideBySig
+    SetRightName(String): PrivateScope, Public, HideBySig
+    GetTopElementName(): PrivateScope, Public, HideBySig
+    SetTopElementName(List`1): PrivateScope, Public, HideBySig
+    GetLeftElementName(): PrivateScope, Public, HideBySig
+    SetLeftElementName(List`1): PrivateScope, Public, HideBySig
+    GetRightElementName(): PrivateScope, Public, HideBySig
+    SetRightElementName(List`1): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CSmplMsrResultFileClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CSmplMsrResultFile>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetCSmplMsrResultFilePtr(shared_ptr<OTSMODEL::CSmplMsrResultFile>*): PrivateScope, Public, HideBySig
+    GetFileVersion(): PrivateScope, Public, HideBySig
+    SetFileVersion(String): PrivateScope, Public, HideBySig
+    GetSEMStageData(): PrivateScope, Public, HideBySig
+    SetSEMStageData(CSEMStageDataClr): PrivateScope, Public, HideBySig
+    GetStage(): PrivateScope, Public, HideBySig
+    SetStage(CStageClr): PrivateScope, Public, HideBySig
+    GetSEMStage(): PrivateScope, Public, HideBySig
+    SetSEMStage(CSEMDataGnrClr): PrivateScope, Public, HideBySig
+    GetSample(): PrivateScope, Public, HideBySig
+    SetSample(COTSSampleClr): PrivateScope, Public, HideBySig
+    GetSwitch(): PrivateScope, Public, HideBySig
+    SetSwitch(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetFieldData(): PrivateScope, Public, HideBySig
+    SetFieldData(List`1): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CSmplMsrResultFileMgrClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CSmplMsrResultFileMgr>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetCSmplMsrResultFileMgrPtr(shared_ptr<OTSMODEL::CSmplMsrResultFileMgr>*): PrivateScope, Public, HideBySig
+    Init(COTSSampleClr): PrivateScope, Public, HideBySig
+    Load(String): PrivateScope, Public, HideBySig
+    Save(String): PrivateScope, Public, HideBySig
+    GetWorkingFolderStr(): PrivateScope, Public, HideBySig
+    SetWorkingFolderStr(String): PrivateScope, Public, HideBySig
+    GetFieldFileSubFolderStr(): PrivateScope, Public, HideBySig
+    GetSmplMsrResultFile(): PrivateScope, Public, HideBySig
+    SetSmplMsrResultFile(CSmplMsrResultFileClr): PrivateScope, Public, HideBySig
+    GetFieldById(Int32): PrivateScope, Public, HideBySig
+    AddAField(COTSFieldDataClr): PrivateScope, Public, HideBySig
+    DeleteAFieldById(Int32): PrivateScope, Public, HideBySig
+    GetPathName(): PrivateScope, Public, HideBySig
+    SetPathName(String): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CRptParamFileClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CRptParamFile>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetRptParamFilePtr(shared_ptr<OTSMODEL::CRptParamFile>*): PrivateScope, Public, HideBySig
+    GetVersion(): PrivateScope, Public, HideBySig
+    SetVersion(String): PrivateScope, Public, HideBySig
+    GetSizeFileFolder(): PrivateScope, Public, HideBySig
+    SetSizeFileFolder(String): PrivateScope, Public, HideBySig
+    GetRptTempFileFolder(): PrivateScope, Public, HideBySig
+    SetRptTempFileFolder(String): PrivateScope, Public, HideBySig
+    GetRptTempFilePath(): PrivateScope, Public, HideBySig
+    SetRptTempFilePath(String): PrivateScope, Public, HideBySig
+    GetSTDFileFolder(): PrivateScope, Public, HideBySig
+    SetSTDFileFolder(String): PrivateScope, Public, HideBySig
+    GetScale(): PrivateScope, Public, HideBySig
+    SetScale(Double): PrivateScope, Public, HideBySig
+    GetElementsColName(): PrivateScope, Public, HideBySig
+    SetElementsColName(String): PrivateScope, Public, HideBySig
+    GetDefaultComputedColName(): PrivateScope, Public, HideBySig
+    SetDefaultComputedColName(String): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CReportMgrClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(std.shared_ptr<OTSMODEL::CReportMgr>*): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetCReportMgrPtr(shared_ptr<OTSMODEL::CReportMgr>*): PrivateScope, Public, HideBySig
+    SetSwitchForSmlResultFile(Int32, Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetPropertyParamImage(): PrivateScope, Public, HideBySig
+    GetPropertyParamTable(): PrivateScope, Public, HideBySig
+    GetPropertyParamChart(): PrivateScope, Public, HideBySig
+    ResetPropertyParams(Boolean(HasFieldMarshal)): PrivateScope, Public, HideBySig
+    GetSmplMsrResultMgrs(): PrivateScope, Public, HideBySig
+    AddASmplMsrResultMgr(String, String): PrivateScope, Public, HideBySig
+    ClearSmplResults(): PrivateScope, Public, HideBySig
+    GetASmplMsrResultMgrByPathName(String): PrivateScope, Public, HideBySig
+    GetWorkingSampleIndex(): PrivateScope, Public, HideBySig
+    SetWorkingSampleIndex(Int32): PrivateScope, Public, HideBySig
+    GridDataTransfer(CPropParamClr): PrivateScope, Public, HideBySig
+    GetAllGBFields(CPropParamClr): PrivateScope, Public, HideBySig
+    GetAllParticlesOfOneGBField(CPropParamClr, Single, Single): PrivateScope, Public, HideBySig
+    GetGBDSParticles(CPropParamClr): PrivateScope, Public, HideBySig
+    IsHaveMultiDataSource(): PrivateScope, Public, HideBySig
+    GetRptParamFileClr(): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig
+Class OTSCLRINTERFACE.CRptParamFileMgrClr: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
+    Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
+  Interfaces:
+    System.IDisposable
+  Methods:
+    GetRptParamFileMgr(shared_ptr<OTSMODEL::CRptParamFileMgr>*): PrivateScope, Public, HideBySig
+    Save(OTS_SOFT_PACKAGE_ID): PrivateScope, Public, HideBySig
+    Load(OTS_SOFT_PACKAGE_ID): PrivateScope, Public, HideBySig
+    GetRptParamFile(): PrivateScope, Public, HideBySig
+    SetRptParamFile(CRptParamFileClr): PrivateScope, Public, HideBySig
+    GetPathName(): PrivateScope, Public, HideBySig
+    SetPathName(String): PrivateScope, Public, HideBySig
+    Dispose(): PrivateScope, Public, Final, Virtual, HideBySig

BIN
OTSCPPDll/OTSClrInterface.exp


+ 7 - 0
OTSCPPDll/OTSControl.dll.metagen

@@ -0,0 +1,7 @@
+ImageRuntimeVersion: v4.0.30319
+Assembly OTSControl, Version=0.0.*, Culture=Invariant Language (Invariant Country): 
+	hash=SHA1, flags=PublicKey
+Assembly mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: 
+	hash=None, flags=None
+Assembly System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089: 
+	hash=None, flags=None

BIN
OTSCPPDll/OTSControl.exp


BIN
OTSCPPDll/OTSData.exp


BIN
OTSCPPDll/OTSImagePro.exp


BIN
OTSCPPDll/OTSLog.exp


BIN
OTSCPPDll/OTSRptCalculate.exp


BIN
OTSCPPDll/OTSSQLiteDll.exp


BIN
OTSCPPDll/SQLite3Win64Dll.exp


+ 3 - 1
OTSIncAMeasureApp/0-OTSModel/OTSDataType/otsdataconst.cs

@@ -125,7 +125,9 @@ namespace OTSDataType
             _3072_2112 = 8,
             _3072_2304 = 9,
             _4096_2816 =10,
-            _4096_3072 = 11
+            _4096_3072 = 11,
+            _1280_960=12,
+            _2560_1920=13
         }
         public static Size[] RESOLUTION_VALUE
         {

+ 12 - 2
OTSIncAMeasureApp/OTSIncAMeasureApp.csproj

@@ -76,7 +76,7 @@
     <LangVersion>7.3</LangVersion>
     <ErrorReport>prompt</ErrorReport>
     <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
+    <Prefer32Bit>true</Prefer32Bit>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
     <OutputPath>..\Bin\x64\Release\</OutputPath>
@@ -213,6 +213,11 @@
     <Prefer32Bit>true</Prefer32Bit>
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="CoxmApi, Version=0.0.0.0, Culture=neutral, processorArchitecture=x86">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\COXM\20240911_OTS_DLL\Coxmapi\Source\CLR\CoxmApiCLR\Release\CoxmApi.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
     <Reference Include="FEIApiControl">
       <HintPath>..\OpenDll\FEIAPI\FEIApiControl.dll</HintPath>
     </Reference>
@@ -593,6 +598,9 @@
     <Compile Include="ServiceCenter\AI_HttpClient.cs" />
     <Compile Include="ServiceCenter\CClassifyEngine.cs" />
     <Compile Include="ServiceCenter\CImageHandler.cs" />
+    <Compile Include="ServiceCenter\CoxmSem\CoxmEDSController.cs" />
+    <Compile Include="ServiceCenter\CoxmSem\CoxmScanController.cs" />
+    <Compile Include="ServiceCenter\CoxmSem\CoxmSemController.cs" />
     <Compile Include="ServiceCenter\CPP%28Bruker%29API\EDSController.cs" />
     <Compile Include="ServiceCenter\CPP%28Bruker%29API\ScanController.cs" />
     <Compile Include="ServiceCenter\CPP%28Bruker%29API\SemController.cs" />
@@ -1021,7 +1029,9 @@
       <Private>False</Private>
     </ProjectReference>
   </ItemGroup>
-  <ItemGroup />
+  <ItemGroup>
+    <Folder Include="ServiceCenter\CoxmSem\dll_release\" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
     <PropertyGroup>

+ 8 - 3
OTSIncAMeasureApp/ServiceCenter/CPP(Bruker)API/EDSController.cs

@@ -8,6 +8,7 @@ namespace OTSModelSharp.ServiceCenter
 {
     using  OTSCLRINTERFACE;
     using OTSMeasureApp.ServiceCenter;
+    using OTSMeasureApp.ServiceCenter.Coxm;
     using OTSMeasureApp.ServiceCenter.PicoSmart;
     using System.Drawing;
     
@@ -52,9 +53,13 @@ namespace OTSModelSharp.ServiceCenter
                   
 
                 }
-                else if(deviceType=="PicoSmart")
+                else if (deviceType == "PicoSmart")
                 {
-                    edsctrl = new PicoSmartEDSController(expectCount);
+                    edsctrl = new PicoSmartEDSController(deviceType, expectCount, ifautoid, knownelements);
+                }
+                else if (deviceType == "Coxm")
+                {
+                    edsctrl = new CoxmEDSController( imgwidth,  imgheight, expectCount, ifautoid, knownelements);
                 }
                 edsctrl.SetResolution(imgwidth, imgheight);
 
@@ -63,7 +68,7 @@ namespace OTSModelSharp.ServiceCenter
             return edsctrl;
         }
 
-        private EDSController(string deviceType,int expectcount,bool ifautoid,string knownelements)
+        protected EDSController(string deviceType,int expectcount,bool ifautoid,string knownelements)
         {
          
                 eds = COTSControlFunExport.GetControllerInstance(deviceType);

+ 5 - 0
OTSIncAMeasureApp/ServiceCenter/CPP(Bruker)API/SemController.cs

@@ -1,6 +1,7 @@
 using FEIApiControl;
 using OTSDataType;
 using OTSMeasureApp.ServiceCenter;
+using OTSMeasureApp.ServiceCenter.Coxm;
 using OTSMeasureApp.ServiceCenter.PicoSmart;
 using System;
 using System.Collections.Generic;
@@ -36,6 +37,10 @@ namespace OTSModelSharp.ServiceCenter
                 {
                     sem = new PicoSmartSemController();
                 }
+                else if (semtype == "Coxm")
+                {
+                   // sem = new CoxmSemController();
+                }
                 else             
                 {
                 

+ 91 - 0
OTSIncAMeasureApp/ServiceCenter/CoxmSem/CoxmEDSController.cs

@@ -0,0 +1,91 @@
+using FEIApiControl;
+
+using OTSCLRINTERFACE;
+using OTSModelSharp.ServiceCenter;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OTSMeasureApp.ServiceCenter.Coxm
+{
+    class CoxmEDSController : IEDSController
+    {
+
+        public static int imgwidth=800;
+        public static int imgheight = 600;
+        private IEDSController m_eds;
+       public CoxmEDSController(int imgwidth, int imgheight, int expectCount, bool ifautoid, string knownelements)
+            //(string deviceType, int expectcount, bool ifautoid, string knownelements)
+        {
+            CoxmEDSController.imgwidth = imgwidth;
+            CoxmEDSController.imgheight = imgheight;
+            m_eds = EDSController.GetEDSController( imgwidth,  imgheight,  expectCount,  ifautoid,  knownelements);
+        }
+
+        public bool  CollectSpectrum(uint a_nXRayAQTime, ref uint[] a_XrayData)
+        {
+           return m_eds.CollectSpectrum( a_nXRayAQTime, ref  a_XrayData);
+        }
+
+        public bool  Connect()
+        {
+            return m_eds.Connect();
+        }
+
+        public EDSTYPE  GetEDSType()
+        {
+            return EDSTYPE.COXM;
+        }
+
+        public int  GetExpectCount()
+        {
+           return m_eds.GetExpectCount();
+        }
+
+        public bool  GetIfDelayQuantify()
+        {
+          return m_eds.GetIfDelayQuantify();
+        }
+
+        public bool  GetXRayByFeatures(List<COTSParticleClr> a_listParticles, double a_nXRayAQTime, bool a_bElementInfo)
+        {
+            return m_eds.GetXRayByFeatures( a_listParticles,  a_nXRayAQTime,  a_bElementInfo);
+        }
+
+        public bool  GetXRayByParts(List<COTSParticleClr> a_listParticles, uint a_nXRayAQTime, bool a_bElementInfo)
+        {
+           return m_eds.GetXRayByParts( a_listParticles,  a_nXRayAQTime,  a_bElementInfo);
+        }
+
+        public bool  QuantifyXrayByPart(COTSParticleClr part)
+        {
+           return m_eds.QuantifyXrayByPart( part);
+        }
+
+        public void  SetFilterKeyEleNames(List<string> KeyNameList)
+        {
+            m_eds.SetFilterKeyEleNames(KeyNameList);
+        }
+
+        public void  SetResolution(int resolutionWidth, int resolutionHeight)
+        {
+            imgwidth= resolutionWidth;
+            imgheight= resolutionHeight;
+            m_eds.SetResolution(resolutionWidth, resolutionHeight);
+        }
+
+        bool IEDSController.GetXRayByExpandFeatures(List<COTSParticleClr> a_listParticles, double a_nXRayAQTime, bool a_bElementInfo)
+        {
+            return m_eds.GetXRayByExpandFeatures( a_listParticles,  a_nXRayAQTime,  a_bElementInfo);
+        }
+
+   
+
+        void IEDSController.SetQuantifiCationParam(bool IfAutoId, string knownElements)
+        {
+            m_eds.SetQuantifiCationParam(IfAutoId, knownElements);
+        }
+    }
+}

+ 155 - 0
OTSIncAMeasureApp/ServiceCenter/CoxmSem/CoxmScanController.cs

@@ -0,0 +1,155 @@
+using OTSModelSharp.ServiceCenter;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using OTSMeasureApp.ServiceCenter;
+using OTSCLRINTERFACE;
+using OxfordExtenderWrapper;
+using System.Drawing;
+using static OxfordExtenderWrapper.ExtenderIpcUI;
+using OpenCvSharp;
+using System.Runtime.InteropServices.WindowsRuntime;
+using System.Threading;
+using OpenCvSharp.Extensions;
+using System.Drawing.Imaging;
+using System.IO;
+using NSDLL_CLR;
+using System.Runtime.InteropServices;
+
+namespace OTSMeasureApp.ServiceCenter
+{
+    public class CoxmScanController : IScanController
+    {
+        public NSRestClient m_api =null;
+        private int imageWidth = 640;
+        private int imageHeight = 480;
+        double dwelltime = 10;
+        int port = 7321;
+        string ip = "127.0.0.1";
+
+        
+
+     public   CoxmScanController()
+        {
+            m_api = NSDLL_CLR.NSRestClient.GetControllerInstance();
+        }
+        private Bitmap base64_encode(string base64Data, int w, int h, int b)
+        {
+            byte[] decodedData = Convert.FromBase64String(base64Data);
+            Bitmap img = null;
+            Mat m_image=new Mat();
+            if (decodedData.Length == w * h * b)
+            {
+                m_image.Create(h, w, MatType.CV_16UC1);
+                Marshal.Copy(decodedData, 0, m_image.Data, decodedData.Length);
+                //Cv2.ImShow("img", m_image);
+                //Cv2.WaitKey(0);
+                //Cv2.DestroyWindow("img");
+            }
+
+            else
+            {
+                m_image.Create(0, 0, MatType.CV_16UC1);
+
+            }
+            Mat bitmap_mat = new Mat(h, w, MatType.CV_8UC1);
+            m_image.ConvertTo(bitmap_mat, MatType.CV_8UC1, 1.0 / 256.0, 0);
+            img = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(bitmap_mat);
+            //disp.Image = img;
+            //disp.Update();
+            bitmap_mat.Dispose();
+            m_image.Dispose();
+            return img;
+        }
+      private  ImageInputSourceType imagesourceType = new ImageInputSourceType();
+        CBSEImgClr IScanController.AcquireBSEImage()
+        {
+            try
+            {
+                Rectangle r = new Rectangle();
+                CBSEImgClr bse = new CBSEImgClr(r);
+                bse.InitImageData(imageWidth, imageHeight);
+
+                ImageAquistionParam p = new ImageAquistionParam();
+                p.width = imageWidth;
+                p.height = imageHeight;
+                p.DwellTime = dwelltime;
+                p.sourceType = imagesourceType;
+                byte[] ImageData;
+                NLog.LogManager.GetCurrentClassLogger().Info("Begin to acquire BSE image!");
+                //get image
+                string base64data = "";
+                int b=0;
+                uint dwrealtime=0;
+                if (m_api.GetImageRealTime(ref base64data,ref imageWidth,ref imageHeight,ref b,ref dwrealtime))
+                {
+                    p.width = imageWidth;
+                    p.height = imageHeight;
+                    p.DwellTime = (double)dwrealtime;
+                    Bitmap bitmap =base64_encode(base64data, imageWidth, imageHeight, b);
+                    using (MemoryStream stream = new MemoryStream())
+                    {
+                        bitmap.Save(stream, ImageFormat.Bmp);
+                        ImageData = stream.ToArray();
+                        bse.SetImageData(ImageData, imageWidth, imageHeight);
+                        NLog.LogManager.GetCurrentClassLogger().Info("End acquiring BSE image!");
+                    }
+                   
+                }
+                else
+                {
+                    NLog.LogManager.GetCurrentClassLogger().Info("acquiring BSE image timeout!");
+                }
+
+                return bse;
+            }
+            catch (Exception e)
+            {
+                NLog.LogManager.GetCurrentClassLogger().Warn(e.Message);
+
+            }
+            return null;
+
+        }
+
+        bool IScanController.Init()
+        {
+            string FEIIP = FileHelper.GetXMLInformations("FEIIP");
+            string FEIPORT = FileHelper.GetXMLInformations("FEIPORT");
+            if (FEIIP == "" || FEIPORT == "")
+            {
+                NLog.LogManager.GetCurrentClassLogger().Error("FEI电镜端口配置为空!");
+                return false;
+            }
+           
+            return m_api.ServerConnect();
+        }
+
+        //bool IScanController.SetDwellTime(double val)
+        //{
+        //    scan_chanel = (int)val;
+        //    return true;
+        //}
+
+        bool IScanController.SetImageSize(int nWidth, int nHeight)
+        {
+            this.imageWidth = nWidth;
+            this.imageHeight = nHeight;
+            return true;
+        }
+
+        public bool SetDwellTime(DwellTimeLevel val)
+        {
+            return true;
+        }
+
+        public CBSEImgClr AcquireRectangleBSEImage(Rectangle rec)
+        {
+            Rectangle r = new Rectangle();
+            CBSEImgClr bse = new CBSEImgClr(r);
+            return bse;
+        }
+    }
+}

+ 260 - 0
OTSIncAMeasureApp/ServiceCenter/CoxmSem/CoxmSemController.cs

@@ -0,0 +1,260 @@
+using FEIApiControl;
+using OTSModelSharp.ServiceCenter;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using NSDLL_CLR;
+using System.Reflection;
+
+namespace OTSMeasureApp.ServiceCenter.Coxm
+{
+    class CoxmSemController : ISemController
+    {
+
+        public static NSRestClient m_api;
+        private int imageWidth = 640;
+        private int imageHeight = 480;
+        double dwelltime = 10;
+        int port = 7321;
+        string ip = "127.0.0.1";
+
+        /// <summary>
+        /// //se 0;bse 1;se_bse 2;
+        /// </summary>
+        int scan_chanel = 1;
+        /// <summary>
+        /// //red 0; fast 1; slow 2; slow2 3
+        /// </summary>
+        int scan_speed = 1;
+        public CoxmSemController()
+        {
+            m_api = NSDLL_CLR.NSRestClient.GetControllerInstance();
+
+        }
+        public static NSRestClient GetApiClassInstance()
+        {
+            if (m_api == null)
+            {
+                m_api = NSDLL_CLR.NSRestClient.GetControllerInstance();
+            }
+            return m_api;
+        }
+        public bool Connect()
+        {
+            string FEIIP = FileHelper.GetXMLInformations("FEIIP");
+            string FEIPORT = FileHelper.GetXMLInformations("FEIPORT");
+            if (FEIIP == "" || FEIPORT == "")
+            {
+                NLog.LogManager.GetCurrentClassLogger().Error("FEI电镜端口配置为空!");
+                return false;
+            }
+
+            if (m_api.IsServerConnectStatus())
+            {
+                return true;
+            }
+            if (m_api.ServerConnect())
+            {
+                return true;
+            }
+            return false;
+        }
+
+        public bool DisConnect()
+        {
+            if (m_api.ServerDisConnect())
+            {
+                return true;
+            }
+            return false;
+        }
+
+        public bool GetMagnification(ref double a_dMagnification)
+        {
+            int mag = 0;
+            if (m_api.GetMagnification(ref mag))
+            {
+                a_dMagnification=(double)mag;
+                return true;
+            }
+
+            return false;
+        }
+
+        public bool GetScanFieldSize(ref double dScanFieldSizeX, ref double dScanFieldSizeY)
+        {
+            if (!m_api.IsServerConnectStatus())
+            {
+                return false;
+            }
+            else
+            {
+                dScanFieldSizeX = imageWidth;
+                dScanFieldSizeY = imageHeight;
+                return true;
+            }
+            
+        }
+
+        public bool GetSemBeamBlank(ref bool a_nBeamBlank)
+        {
+            return m_api.PostBeamBlank(a_nBeamBlank);
+        }
+
+        public bool GetSemBrightness(ref double a_dBrightness)
+        {
+            int brightness = 0;
+            bool get = m_api.GetBrightness(ref brightness);
+            if(get)
+            a_dBrightness=(double)brightness;
+            return get;
+        }
+
+        public bool GetSemContrast(ref double a_dContrast)
+        {
+            int contrast = 0;
+            bool get=m_api.GetContrast(ref contrast);
+            if(get)
+            {
+                a_dContrast=(double)contrast;
+            }
+            return get;
+        }
+
+        public bool GetSemHighTension(ref double a_dKV)
+        {
+            int kv = 0;
+             if(m_api.GetAccVoltage(ref kv))
+            {
+                a_dKV=(double)kv;
+            }
+            return false;
+        }
+
+        public bool GetSemPositionXY(ref double a_dPositionX, ref double a_dPositionY, ref double a_dPositionR)
+        {
+            double t = 0;
+            return m_api.GetStageALL(ref a_dPositionX, ref a_dPositionY, ref a_dPositionR, ref a_dPositionR, ref t);
+            
+        }
+
+        public bool GetWorkingDistance(ref double a_distance)
+        {
+            return m_api.GetWD(ref a_distance);
+        }
+
+        public bool IsConnected()
+        {
+          
+            return m_api.IsServerConnectStatus();
+        }
+
+        public bool MoveSEMToPoint(double a_dPositionX, double a_dPositionY, double rotation)
+        {
+            return false;
+           
+        }
+
+        public bool MoveSEMToPoint(double a_dPositionX, double a_dPositionY)
+        {
+            return m_api.MoveStageX_YAndConform(a_dPositionX, a_dPositionY);
+        }
+
+        public bool SetMagnification(double a_dMagnification)
+        {
+            int mag =(int) a_dMagnification;
+            return m_api.PostMagnification(mag);
+        }
+
+        public bool SetScanExternal(bool b)
+        {
+            return m_api.PostExternalOn(b);
+        }
+
+        public bool SetSemBeamBlank(bool value)
+        {
+            return m_api.PostBeamBlank(value);
+        }
+
+        public bool SetSemBeamCurrentOff(bool value)
+        {
+            
+            return false;
+        }
+
+        public bool SetSemBrightness(double a_dBrightness)
+        {
+            int brightness=(int) a_dBrightness;
+            return m_api.PostBrightness(brightness);
+        }
+
+        public bool SetSemContrast(double a_dContrast)
+        {
+            int contast=(int) a_dContrast;
+            return m_api.PostContrast(contast);
+        }
+
+        public bool SetSemHighTension(double a_dKV)
+        {
+            int KV = (int)a_dKV;
+            return m_api.PostAccVoltage(KV);
+        }
+
+        public bool SetSemHTOff(bool value)
+        {
+           if(value)
+            {
+                return m_api.PostEGunOFF();
+            }
+            else
+            {
+                return false;
+            }   
+        }
+
+        public bool SetWorkingDistance(double a_distance)
+        {
+            return m_api.PostWD(a_distance);
+        }
+
+        public bool StopXrayAcquisition()
+        {
+            return false;
+        }
+
+        bool ISemController.GetSemBeamBlank(ref int a_nBeamBlank)
+        {
+            if(a_nBeamBlank==1)
+            {
+                m_api.PostBeamBlank(true);
+            }
+            else if(a_nBeamBlank==0)
+            {
+                m_api.PostBeamBlank(false);
+            }
+           return false;
+        }
+
+        bool ISemController.RunHIGH_VACUUM()
+        {
+            return true;
+        }
+
+        bool ISemController.SetFullFrame()
+        {
+            return true;
+        }
+
+        bool ISemController.SetReducedArea()
+        {
+            return true;
+        }
+
+        bool ISemController.StopImageAcquisition()
+        {
+            return true;
+        }
+    }
+}

+ 3 - 1
OTSIncAMeasureApp/ServiceCenter/IMeasureHardware.cs

@@ -15,7 +15,9 @@ namespace OTSModelSharp.ServiceCenter
      BRUKER =1,
       OXFORD=2,
       FEI=3,
-      PICOSMART
+      PICOSMART,
+      COXM
+
     
     }
     public enum DwellTimeLevel

+ 24 - 6
OTSIncAMeasureApp/ServiceCenter/PicoSmart/PicoSartScanController.cs

@@ -116,11 +116,17 @@ namespace OTSMeasureApp.ServiceCenter
                     
                     if (!image.Empty())
                     {
+                        
+                       
+                        if(image.Channels()==3)
+                        {
+                            Cv2.CvtColor(image, image, ColorConversionCodes.BGR2GRAY);
+                        }
                         Cv2.ImWrite("d:/sem.png", image);
                         Bitmap bitmap = image.ToBitmap();
                         using (MemoryStream stream = new MemoryStream())
                         {
-                            bitmap.Save(stream, ImageFormat.Png);  // 你可以选择其它的格式,比如Jpeg  
+                            bitmap.Save(stream, ImageFormat.Bmp);   
                             ImageData = stream.ToArray();
                             bse.SetImageData(ImageData, image.Cols, image.Rows);
                             NLog.LogManager.GetCurrentClassLogger().Info("End acquiring BSE image!");
@@ -169,11 +175,11 @@ namespace OTSMeasureApp.ServiceCenter
             return false;
         }
 
-        bool IScanController.SetDwellTime(double val)
-        {
-            scan_chanel = (int)val;
-            return true;
-        }
+        //bool IScanController.SetDwellTime(double val)
+        //{
+        //    scan_chanel = (int)val;
+        //    return true;
+        //}
 
         bool IScanController.SetImageSize(int nWidth, int nHeight)
         {
@@ -181,5 +187,17 @@ namespace OTSMeasureApp.ServiceCenter
             this.imageHeight = nHeight;
             return true;
         }
+
+        public bool SetDwellTime(DwellTimeLevel val)
+        {
+            return true;
+        }
+
+        public CBSEImgClr AcquireRectangleBSEImage(Rectangle rec)
+        {
+            Rectangle r = new Rectangle();
+            CBSEImgClr bse = new CBSEImgClr(r);
+            return bse;
+        }
     }
 }

+ 103 - 89
OTSIncAMeasureApp/ServiceCenter/PicoSmart/PicoSmartEDSController.cs

@@ -9,98 +9,112 @@ using System.Threading.Tasks;
 
 namespace OTSMeasureApp.ServiceCenter.PicoSmart
 {
-    class PicoSmartEDSController : IEDSController
+    class PicoSmartEDSController : EDSController
     {
-        public PicoSmartApi_cshape m_api = null;
-
-        private int AnalyExpCount = 100000;
-        private string strResolution = "";
-        private int width = 0;
-        private int height = 0;
-        public PicoSmartEDSController(int MaxCounts)
-        {
-            m_api = PicoSmartSemController.GetApiClassInstance();
-            AnalyExpCount = MaxCounts;
-            Connect();
-        }
-
-        public bool  CollectSpectrum(uint a_nXRayAQTime, ref uint[] a_XrayData)
-        {
-           return false;
-        }
-
-        public bool  Connect()
-        {
-          
-
-            string FEIIP = FileHelper.GetXMLInformations("FEIIP");
-            string FEIPORT = FileHelper.GetXMLInformations("FEIPORT");
-            if (FEIIP == "" || FEIPORT == "")
-            {
-                NLog.LogManager.GetCurrentClassLogger().Error("FEI电镜端口配置为空!");
-                return false;
-            }
-            m_api.set_ip(FEIIP);
-            m_api.set_port(int.Parse( FEIPORT));
-            if (m_api.isStart()==1)
-            {
-                return true;
-            }
-
-            if (m_api.start() == 1)
-                {
-                    return true;
-                }
-            return false;
-        }
-
-        public EDSTYPE  GetEDSType()
-        {
-            return EDSTYPE.PICOSMART;
-        }
-
-        public int  GetExpectCount()
-        {
-           return AnalyExpCount;
-        }
-
-        public bool  GetIfDelayQuantify()
-        {
-          return false;
-        }
-
-        public bool  GetXRayByFeatures(List<COTSParticleClr> a_listParticles, double a_nXRayAQTime, bool a_bElementInfo)
-        {
-           return false;
-        }
-
-        public bool  GetXRayByParts(List<COTSParticleClr> a_listParticles, uint a_nXRayAQTime, bool a_bElementInfo)
-        {
-           return false;
-        }
-
-        public bool  QuantifyXrayByPart(COTSParticleClr part)
-        {
-           return false;
-        }
-
-        public void  SetFilterKeyEleNames(List<string> KeyNameList)
+        public PicoSmartEDSController(string deviceType, int expectcount, bool ifautoid, string knownelements) : base(deviceType, expectcount, ifautoid, knownelements)
         {
-            
-        }
-
-        public void  SetResolution(int resolutionWidth, int resolutionHeight)
-        {
-            
-        }
-
-        private bool SetAnalyExpCount(int MaxCounts)
-        {
-
-            AnalyExpCount = MaxCounts;
-
 
-            return true;
         }
+        //public PicoSmartApi_cshape m_api = null;
+
+        //private int AnalyExpCount = 100000;
+        //private string strResolution = "";
+        //private int width = 0;
+        //private int height = 0;
+        //public PicoSmartEDSController(int MaxCounts)
+        //{
+        //    m_api = PicoSmartSemController.GetApiClassInstance();
+        //    AnalyExpCount = MaxCounts;
+        //    Connect();
+        //}
+
+        //public bool  CollectSpectrum(uint a_nXRayAQTime, ref uint[] a_XrayData)
+        //{
+        //   return false;
+        //}
+
+        //public bool  Connect()
+        //{
+
+
+        //    string FEIIP = FileHelper.GetXMLInformations("FEIIP");
+        //    string FEIPORT = FileHelper.GetXMLInformations("FEIPORT");
+        //    if (FEIIP == "" || FEIPORT == "")
+        //    {
+        //        NLog.LogManager.GetCurrentClassLogger().Error("FEI电镜端口配置为空!");
+        //        return false;
+        //    }
+        //    m_api.set_ip(FEIIP);
+        //    m_api.set_port(int.Parse( FEIPORT));
+        //    if (m_api.isStart()==1)
+        //    {
+        //        return true;
+        //    }
+
+        //    if (m_api.start() == 1)
+        //        {
+        //            return true;
+        //        }
+        //    return false;
+        //}
+
+        //public EDSTYPE  GetEDSType()
+        //{
+        //    return EDSTYPE.PICOSMART;
+        //}
+
+        //public int  GetExpectCount()
+        //{
+        //   return AnalyExpCount;
+        //}
+
+        //public bool  GetIfDelayQuantify()
+        //{
+        //  return false;
+        //}
+
+        //public bool  GetXRayByFeatures(List<COTSParticleClr> a_listParticles, double a_nXRayAQTime, bool a_bElementInfo)
+        //{
+        //   return false;
+        //}
+
+        //public bool  GetXRayByParts(List<COTSParticleClr> a_listParticles, uint a_nXRayAQTime, bool a_bElementInfo)
+        //{
+        //   return false;
+        //}
+
+        //public bool  QuantifyXrayByPart(COTSParticleClr part)
+        //{
+        //   return false;
+        //}
+
+        //public void  SetFilterKeyEleNames(List<string> KeyNameList)
+        //{
+
+        //}
+
+        //public void  SetResolution(int resolutionWidth, int resolutionHeight)
+        //{
+
+        //}
+
+        //bool IEDSController.GetXRayByExpandFeatures(List<COTSParticleClr> a_listParticles, double a_nXRayAQTime, bool a_bElementInfo)
+        //{
+        //    return true;
+        //}
+
+        //private bool SetAnalyExpCount(int MaxCounts)
+        //{
+
+        //    AnalyExpCount = MaxCounts;
+
+
+        //    return true;
+        //}
+
+        //void IEDSController.SetQuantifiCationParam(bool IfAutoId, string knownElements)
+        //{
+        //    //throw new NotImplementedException();
+        //}
     }
 }

+ 22 - 1
OTSIncAMeasureApp/ServiceCenter/PicoSmart/PicoSmartSemController.cs

@@ -85,8 +85,9 @@ namespace OTSMeasureApp.ServiceCenter.PicoSmart
             {
                 dScanFieldSizeX = imageWidth;
                 dScanFieldSizeY = imageHeight;
+                return true;
             }
-            return false;
+            
         }
 
         public bool   GetSemBeamBlank(ref int a_nBeamBlank)
@@ -187,5 +188,25 @@ namespace OTSMeasureApp.ServiceCenter.PicoSmart
         {
             return false;
         }
+
+        bool ISemController.RunHIGH_VACUUM()
+        {
+            return true;
+        }
+
+        bool ISemController.SetFullFrame()
+        {
+            return true;
+        }
+
+        bool ISemController.SetReducedArea()
+        {
+            return true;
+        }
+
+        bool ISemController.StopImageAcquisition()
+        {
+            return true;
+        }
     }
 }

+ 9 - 67
OTSIncAReportApp/OTSIncAReportApp.csproj

@@ -237,35 +237,6 @@
     <ErrorReport>prompt</ErrorReport>
     <Prefer32Bit>true</Prefer32Bit>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_oxford61sp1|AnyCPU'">
-    <OutputPath>bin\Release_oxford61sp1\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <LangVersion>7.3</LangVersion>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>true</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_oxford61sp1|x86'">
-    <OutputPath>bin\x86\Release_oxford61sp1\</OutputPath>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <LangVersion>7.3</LangVersion>
-    <Prefer32Bit>true</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_oxford61sp1|x64'">
-    <OutputPath>..\bin\x64\Release_oxford61sp1\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <LangVersion>7.3</LangVersion>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>true</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup>
-    <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
-  </PropertyGroup>
   <ItemGroup>
     <Reference Include="BouncyCastle.Crypto">
       <HintPath>..\OpenDll\WordApiDll\BouncyCastle.Crypto.dll</HintPath>
@@ -452,19 +423,12 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="1-UI\Control_Graph\Controls\ImageSplicer.cs" />
     <Compile Include="1-UI\Control_Grids\ParticlesGridDevidePage\ParticlesGridDevidePageShowConfig.cs">
       <SubType>Form</SubType>
     </Compile>
     <Compile Include="1-UI\Control_Grids\ParticlesGridDevidePage\ParticlesGridDevidePageShowConfig.Designer.cs">
       <DependentUpon>ParticlesGridDevidePageShowConfig.cs</DependentUpon>
     </Compile>
-    <Compile Include="1-UI\Control_Grids\ParticlesGridDevidePage\ParticleClassificationSelect.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="1-UI\Control_Grids\ParticlesGridDevidePage\ParticleClassificationSelect.Designer.cs">
-      <DependentUpon>ParticleClassificationSelect.cs</DependentUpon>
-    </Compile>
     <Compile Include="1-UI\Control_Grids\SpectrumExportConfirmation.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -490,18 +454,8 @@
     <Compile Include="1-UI\frmReMeasure.Designer.cs">
       <DependentUpon>frmReMeasure.cs</DependentUpon>
     </Compile>
-    <Compile Include="1-UI\OTSReportExport\ClassificationOrderAdjuster.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="1-UI\OTSReportExport\ClassificationOrderAdjuster.Designer.cs">
-      <DependentUpon>ClassificationOrderAdjuster.cs</DependentUpon>
-    </Compile>
-    <Compile Include="1-UI\OTSReportExport\DataIntegration\BasicData.cs" />
-    <Compile Include="1-UI\OTSReportExport\DataIntegration\ImageProcessor.cs" />
-    <Compile Include="1-UI\Purity.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="1-UI\Purity.Designer.cs">
+    <Compile Include="1-UI\GBCalculate\Purity.cs" />
+    <Compile Include="1-UI\GBCalculate\Purity.Designer.cs">
       <DependentUpon>Purity.cs</DependentUpon>
     </Compile>
     <Compile Include="1-UI\OTSDisplaySourceGridData\frmReportConditionChoose.cs">
@@ -651,8 +605,6 @@
     <Compile Include="1-UI\OTSReportExport\OTSReport_Template_CleannessA.Designer.cs">
       <DependentUpon>OTSReport_Template_CleannessA.cs</DependentUpon>
     </Compile>
-    <Compile Include="2-CommonFunction\OTSRstMgrFunction\ResultFile.cs" />
-    <Compile Include="2-CommonFunction\OTSRstMgrFunction\RptConfigFile.cs" />
     <Compile Include="3-ServiceCenter\COffLineClassifyLogic.cs" />
     <Compile Include="1-UI\OTSReportExport\Template\GBTemplate.cs">
       <SubType>Component</SubType>
@@ -666,7 +618,7 @@
     <Compile Include="1-UI\OTSReportExport\Template\DataTemplate.Designer.cs">
       <DependentUpon>DataTemplate.cs</DependentUpon>
     </Compile>
-    <Compile Include="2-CommonFunction\CommonClass\DisplayRectangle.cs" />
+    <Compile Include="2-CommonFunction\CommonClass\DisplayField.cs" />
     <Compile Include="2-CommonFunction\CommonClass\DisplayParticle.cs" />
     <Compile Include="2-CommonFunction\CommonClass\DisplaySegment.cs" />
     <Compile Include="2-CommonFunction\CommonClass\DragHelper.cs" />
@@ -676,7 +628,7 @@
     <Compile Include="2-CommonFunction\CommonClass\Language.cs" />
     <Compile Include="2-CommonFunction\CommonClass\MemoryManagement.cs" />
     <Compile Include="2-CommonFunction\CommonClass\XmlOperateUtil.cs" />
-    <Compile Include="2-CommonFunction\CommonClass\XmlResourceData.cs" />
+    <Compile Include="2-CommonFunction\OTSDataMgrFunction\XmlResourceData.cs" />
     <Compile Include="3-ServiceCenter\DataOperation\DataAccess\FeatureData.cs" />
     <Compile Include="3-ServiceCenter\DataOperation\DataAccess\FieldData.cs" />
     <Compile Include="3-ServiceCenter\DataOperation\DataAccess\OtherDB.cs" />
@@ -720,7 +672,7 @@
     <Compile Include="1-UI\OTSMgrInfo\frmPartSizeEditorNew.Designer.cs">
       <DependentUpon>frmPartSizeEditorNew.cs</DependentUpon>
     </Compile>
-    <Compile Include="2-CommonFunction\OTSRstMgrFunction\ResultDataMgr.cs" />
+    <Compile Include="2-CommonFunction\OTSDataMgrFunction\ResultDataMgr.cs" />
     <Compile Include="1-UI\OTSDisplaySourceGridData\OTSSourceGrid.cs" />
     <Compile Include="1-UI\OTSMgrInfo\Triangulation_Edit.cs">
       <SubType>Form</SubType>
@@ -812,7 +764,7 @@
       <DependentUpon>OutputNlog.cs</DependentUpon>
     </Compile>
     <Compile Include="3-ServiceCenter\HardwareController.cs" />
-    <Compile Include="1-UI\Control_Graph\Controls\ImageExporter.cs" />
+    <Compile Include="1-UI\Control_Graph\Controls\OutPIC.cs" />
     <Compile Include="Help.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -861,9 +813,6 @@
     <EmbeddedResource Include="1-UI\Control_Grids\ParticlesGridDevidePage\ParticlesGridDevidePageShowConfig.resx">
       <DependentUpon>ParticlesGridDevidePageShowConfig.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="1-UI\Control_Grids\ParticlesGridDevidePage\ParticleClassificationSelect.resx">
-      <DependentUpon>ParticleClassificationSelect.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="1-UI\Control_Grids\ParticlesSizeGrid.resx">
       <DependentUpon>ParticlesSizeGrid.cs</DependentUpon>
     </EmbeddedResource>
@@ -882,10 +831,7 @@
     <EmbeddedResource Include="1-UI\frmReMeasure.resx">
       <DependentUpon>frmReMeasure.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="1-UI\OTSReportExport\ClassificationOrderAdjuster.resx">
-      <DependentUpon>ClassificationOrderAdjuster.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="1-UI\Purity.resx">
+    <EmbeddedResource Include="1-UI\GBCalculate\Purity.resx">
       <DependentUpon>Purity.cs</DependentUpon>
     </EmbeddedResource>
     <EmbeddedResource Include="1-UI\OTSDisplaySourceGridData\frmReportConditionChoose.resx">
@@ -1703,11 +1649,7 @@
   </Target>
   <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
   <PropertyGroup>
-    <PostBuildEvent>If $(Configuration) == Debug (
-echo debug donot copy files
-) else (
- xcopy /E /I /Y "$(SolutionDir)Bin\x64\Debug\Config" "$(TargetDir)Config"
-xcopy /E /I /Y "$(SolutionDir)Bin\x64\Debug\Resources" "$(TargetDir)Resources" 
-)</PostBuildEvent>
+    <PostBuildEvent>
+    </PostBuildEvent>
   </PropertyGroup>
 </Project>