Преглед на файлове

sample属性保存和载入功能修复

CXS преди 3 години
родител
ревизия
35ac5cc1dd

+ 1 - 1
OTSIncAMeasureApp/0-OTSModel/Measure/1-OTSInclution/SmplMeasureInclution.cs

@@ -83,7 +83,7 @@ namespace OTSModelSharp
 
             int steelTech = (int)m_Sample.GetMsrParams().GetSteelTechnology();
             particle.SetType((int)OTS_PARTCLE_TYPE.NOT_IDENTIFIED);
-            if (m_Sample.IfUsingSysSTD())
+            if (m_Sample.GetMsrParams().GetSysSTDSwitch())
             {
 
                 if (libname != "NoSTDDB")

+ 1 - 3
OTSIncAMeasureApp/0-OTSModel/Measure/ParamData/COTSMsrPrjResultData.cs

@@ -1475,9 +1475,7 @@ namespace OTSModelSharp
                 {
                     foreach (var part in fld.GetListAnalysisParticles())
                     {
-
-              
-                        if (spl.IfUsingSysSTD())
+                        if (spl.GetMsrParams().GetSysSTDSwitch())
                         {
                             if (stdFileName != "NoSTDDB.db")
                             {

+ 4 - 11
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSSample.cs

@@ -43,7 +43,7 @@ namespace OTSDataType
         // Measuren Switch
         private bool m_bSwitch;
         // system STD Switch
-        private bool m_bSysSTDSwitch;
+        //private bool m_bSysSTDSwitch;
         private CSampleParam m_poMsrParams;
         private CDomain m_poMsrArea;
         private CSEMDataMsr m_poSEMDataMsr;
@@ -63,7 +63,7 @@ namespace OTSDataType
             m_strHoleName = "";
             m_bParamLock = false;
             m_bSwitch = true;
-            m_bSysSTDSwitch = true;
+            //m_bSysSTDSwitch = true;
             m_poMsrParams = new CSampleParam();
             m_poMsrArea = new CDomain();
             m_poSEMDataMsr = new CSEMDataMsr();
@@ -211,7 +211,7 @@ namespace OTSDataType
                     break;
                 case OTS_SAMPLE_PROP_GRID_ITEMS.SYS_STD_SWITCH:
                     {
-                        m_bSysSTDSwitch = a_bValue;
+                        m_poMsrParams.SetSysSTDSwitch(a_bValue);
                     }
                     break;
                 case OTS_SAMPLE_PROP_GRID_ITEMS.USING_XRAY:
@@ -330,7 +330,6 @@ namespace OTSDataType
             m_strHoleName = a_oSource.m_strHoleName;
             m_bParamLock = a_oSource.m_bParamLock;
             m_bSwitch = a_oSource.m_bSwitch;
-            m_bSysSTDSwitch = a_oSource.m_bSysSTDSwitch;
             m_poMsrParams = new CSampleParam(a_oSource.m_poMsrParams);
             m_poMsrArea = new CDomain(a_oSource.m_poMsrArea);
             m_poSEMDataMsr = new CSEMDataMsr(a_oSource.m_poSEMDataMsr);
@@ -394,10 +393,6 @@ namespace OTSDataType
         public bool GetSwitch() { return m_bSwitch; }
         public void SetSwitch(bool a_bSwitch) { m_bSwitch = a_bSwitch; }
 
-        // STDSwitch
-        public bool IfUsingSysSTD() { return m_bSysSTDSwitch; }
-        public void SetSysSTDSwitch(bool a_bSysSTDSwitch) { m_bSysSTDSwitch = a_bSysSTDSwitch; }
-
         // measurement parameter 
         public CSampleParam GetMsrParams() { return m_poMsrParams; }
         public void SetMsrParams(CSampleParam a_poMsrParams)
@@ -465,7 +460,7 @@ namespace OTSDataType
                     break;
                 case (int)OTS_SAMPLE_PROP_GRID_ITEMS.SYS_STD_SWITCH:
                     {
-                        a_bValue = m_bSysSTDSwitch;
+                        a_bValue = m_poMsrParams.GetSysSTDSwitch();
                     }
                     break;
                 case (int)OTS_SAMPLE_PROP_GRID_ITEMS.USING_XRAY:
@@ -2799,7 +2794,6 @@ namespace OTSDataType
                 xstrHoleName.AssignValue(m_strHoleName);
                 xParamLock.AssignValue(m_bParamLock);
                 xSwitch.AssignValue(m_bSwitch);
-                xSysSTDSwitch.AssignValue(m_bSysSTDSwitch);
                 slo.Serialize(true, classDoc, rootNode);
             }
             else
@@ -2809,7 +2803,6 @@ namespace OTSDataType
                 m_strHoleName = xstrHoleName.value();
                 m_bParamLock = xParamLock.value();
                 m_bSwitch = xSwitch.value();
-                m_bSysSTDSwitch = xSysSTDSwitch.value();
             }
         }
     }

+ 12 - 2
OTSIncAMeasureApp/0-OTSModel/OTSDataType/CSampleParam.cs

@@ -12,6 +12,7 @@ namespace OTSDataType
     public class CSampleParam : ISlo
     {
         private string m_strName;
+        private bool m_bSysSTDSwitch;
         private string m_strSTDName;
         private COTSImgScanPrm m_poImageScanParam;
         private COTSImageProcParam m_poImageProcessParam;
@@ -43,7 +44,7 @@ namespace OTSDataType
         {
             // initialization
             m_strName = "MsrParam";
-
+            m_bSysSTDSwitch = true;
             m_strSTDName = "";
             m_poImageScanParam = new COTSImgScanPrm();
             m_poImageProcessParam = new COTSImageProcParam();
@@ -56,6 +57,7 @@ namespace OTSDataType
 
             // copy data over
             m_strName = a_oSource.m_strName;
+            m_bSysSTDSwitch = a_oSource.m_bSysSTDSwitch;
             m_strSTDName = a_oSource.m_strSTDName;
             m_SteelTech = a_oSource.m_SteelTech;
             m_poImageScanParam = new COTSImgScanPrm(a_oSource.m_poImageScanParam);
@@ -76,17 +78,20 @@ namespace OTSDataType
                 m_strSTDName == a_oSource.m_strSTDName &&
                 m_poImageScanParam.Equals(a_oSource.m_poImageScanParam) &&
                 m_poImageProcessParam.Equals(a_oSource.m_poImageProcessParam) &&
-                m_poXRayParam.Equals(a_oSource.m_poXRayParam);
+                m_poXRayParam.Equals(a_oSource.m_poXRayParam) &&
+                m_bSysSTDSwitch.Equals(a_oSource.m_bSysSTDSwitch);
         }
 
         public override void Serialize(bool isStoring, XmlDocument classDoc, XmlNode rootNode)
         {
+            xBool xSysSTDSwitch = new xBool();
             xString xstrName = new xString();
             xString xstrSTDName = new xString();
             xString xSystype = new xString();
             xInt xSteelTech = new xInt();
             Slo slo = new Slo();
 
+            slo.Register("UseSysSTD", xSysSTDSwitch);
             slo.Register("STDName", xstrSTDName);
             slo.Register("SteelTech", xSteelTech);
             slo.Register("SysType", xSystype);
@@ -96,6 +101,7 @@ namespace OTSDataType
 
             if (isStoring)
             {
+                xSysSTDSwitch.AssignValue(m_bSysSTDSwitch);
                 xstrName.AssignValue(m_strName);
                 xSteelTech.AssignValue((int)m_SteelTech);
                 xstrSTDName.AssignValue(m_strSTDName);
@@ -106,6 +112,7 @@ namespace OTSDataType
             {
                 slo.Serialize(false, classDoc, rootNode);
 
+                m_bSysSTDSwitch = xSysSTDSwitch.value();
                 m_strName = xstrName.value();
                 m_strSTDName = xstrSTDName.value();
                 m_SteelTech = (STEEL_TECHNOLOGY)xSteelTech.value();
@@ -142,5 +149,8 @@ namespace OTSDataType
         public COTSImgScanPrm GetImageScanParam() { return m_poImageScanParam; }
         public COTSImageProcParam GetImageProcessParam() { m_poImageProcessParam.SpecialGreyRangeParam = m_specialGrayRangeParam; return m_poImageProcessParam; }
         public COTSXRayParam GetXRayParam() { return m_poXRayParam; }
+        // STDSwitch
+        public bool GetSysSTDSwitch() { return m_bSysSTDSwitch; }
+        public void SetSysSTDSwitch(bool a_bSysSTDSwitch) { m_bSysSTDSwitch = a_bSysSTDSwitch; }
     }
 }

+ 1 - 1
OTSIncAMeasureApp/2-OTSMeasureParamManage/COTSMeasureParam.cs

@@ -308,7 +308,7 @@ namespace OTSMeasureApp
             pSample.SetName(strNewSampleName);
             pSample.SetSampleHoleName(pHole.GetName());
             pSample.SetSwitch(m_pParam.GetMeasurementSwitch());
-            pSample.SetSysSTDSwitch(m_pParam.GetSysSTD());
+            pSample.GetMsrParams().SetSysSTDSwitch(m_pParam.GetSysSTD());
             pSample.SetMsrArea(pMsrArea);
             pSample.SetMembraneType(a_nVal);
             pSample.SetMsrParams(poMsrParams);