Forráskód Böngészése

测量结果中面积项保留两位小数

CXS 4 éve
szülő
commit
501e8ae050

+ 14 - 14
OTSIncAMeasureApp/0-OTSModel/Measure/GetBSEPic/CMsrDisplayResults.cs

@@ -16,7 +16,7 @@ namespace OTSModelSharp
     {   // Type ID
         private int m_nTypeId;
         // area (micros)
-        private System.UInt32 m_nArea;
+        private double m_nArea;
         // particle number
         private System.UInt32 m_nNumber;
         private string m_sName;
@@ -49,11 +49,11 @@ namespace OTSModelSharp
             m_nTypeId = a_nTypeId;
         }
         // area (micros)
-        public System.UInt32 GetArea()
+        public double GetArea()
         {
             return m_nArea;
         }
-        public void SetArea(System.UInt32 a_nArea)
+        public void SetArea(double a_nArea)
         {
             m_nArea = a_nArea;
         }
@@ -102,7 +102,7 @@ namespace OTSModelSharp
         // radio
         double m_dRadio;
         // measured area (micros)
-        System.UInt32 m_nMeasuredArea;
+        double m_nMeasuredArea;
         // result items list
         List<CMsrResultItem> m_listResultItems;
 
@@ -127,15 +127,15 @@ namespace OTSModelSharp
             m_dRadio = a_dRadio;
         }
         // measured area (micros)
-        public System.UInt32 GetMeasuredArea()
+        public double GetMeasuredArea()
         {
             return m_nMeasuredArea;
         }
-        public void SetMeasuredArea(System.UInt32 a_nMeasuredArea)
+        public void SetMeasuredArea(double a_nMeasuredArea)
         {
             m_nMeasuredArea = a_nMeasuredArea;
         }
-        public void CumulateMeasuredArea(System.UInt32 a_nMeasuredArea)
+        public void CumulateMeasuredArea(double a_nMeasuredArea)
         {
             m_nMeasuredArea += a_nMeasuredArea;
         }
@@ -154,18 +154,18 @@ namespace OTSModelSharp
                 m_listResultItems.Add(cMsrResultItem);
             }
         }
-        public System.UInt32 GetTotalParticleArea()
+        public double GetTotalParticleArea()
         {
-            System.UInt32 nArea = 0;
+            double nArea = 0;
             foreach (CMsrResultItem poResultItem in m_listResultItems)
             {
                 nArea += poResultItem.GetArea();
             }
             return nArea;
         }
-        public System.UInt32 GetTotalparticleIdentifyArea()
+        public double GetTotalparticleIdentifyArea()
         {
-            System.UInt32 nArea = 0;
+            double nArea = 0;
             foreach (CMsrResultItem poResultItem in m_listResultItems)
             {
                 if (poResultItem.GetTypeId() > 7)
@@ -192,7 +192,7 @@ namespace OTSModelSharp
             {
                 return dDisplayRadio;
             }
-            System.UInt32 nTotalParticleArea = GetTotalParticleArea();
+            double nTotalParticleArea = GetTotalParticleArea();
             dDisplayRadio = (double)nTotalParticleArea / (double)m_nMeasuredArea * m_dRadio;
             return dDisplayRadio;
         }
@@ -204,7 +204,7 @@ namespace OTSModelSharp
             if (itr != null)
             {
 
-                itr.SetArea((uint)a_poResultItem.GetArea() + itr.GetArea());
+                itr.SetArea(a_poResultItem.GetArea() + itr.GetArea());
                 itr.SetNumber(itr.GetNumber() + 1);
             }
             else            
@@ -212,7 +212,7 @@ namespace OTSModelSharp
                 CMsrResultItem pMsrResultItem = new CMsrResultItem();
                 pMsrResultItem.SetTypeId(a_poResultItem.GetClassifyId());
 
-                pMsrResultItem.SetArea((System.UInt32)(a_poResultItem.GetArea() + 0.5));
+                pMsrResultItem.SetArea(a_poResultItem.GetArea() + 0.5);
                 pMsrResultItem.SetNumber(1);
                 pMsrResultItem.SetName(a_poResultItem.GetTypeName());
                 m_listResultItems.Add(pMsrResultItem);

+ 3 - 3
OTSIncAMeasureApp/0-OTSModel/Measure/GetBSEPic/CSmplMeasure.cs

@@ -648,12 +648,12 @@ namespace OTSModelSharp
 
                     ++nNewFieldId;
 
-                    uint measuredArea = 0; // this area should be the field area
+                    double measuredArea = 0; // this area should be the field area
                     var a_pBSEImg = curFldData.GetBSEImage();
                     
                     double dPixelSize = m_Sample.CalculatePixelSize();
                    
-                        measuredArea = (uint)(a_pBSEImg.GetHeight() * a_pBSEImg.GetWidth()* dPixelSize * dPixelSize + 0.5); //Get measured area
+                        measuredArea = a_pBSEImg.GetHeight() * a_pBSEImg.GetWidth()* dPixelSize * dPixelSize + 0.5; //Get measured area
                     if (!CumulateFieldData(curFldData.ListAnalysisParticles, measuredArea))
                     { // failed to call SaveFieldFile method
                         loger.Error("ImageProcess: call CumulateFieldData method.");
@@ -935,7 +935,7 @@ namespace OTSModelSharp
             }
         }
         // Cumulate field data info
-        public virtual bool CumulateFieldData( List<COTSParticleClr> listParticles, uint a_nMeasuredArea)
+        public virtual bool CumulateFieldData( List<COTSParticleClr> listParticles, double a_nMeasuredArea)
         {
 
             // get measure result items of the sample

+ 18 - 14
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSSample.cs

@@ -298,6 +298,8 @@ namespace OTSDataType
                 case OTS_SAMPLE_PROP_GRID_ITEMS.WORKING_DISTANCE:
                 case OTS_SAMPLE_PROP_GRID_ITEMS.RATIO:
                 case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_TO_MEASURE_AREA:
+                case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_AREA:
+                case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_PARTICLE_AREA:
                 default:
                     {
                         // something wrong, return false
@@ -552,23 +554,12 @@ namespace OTSDataType
                     }
                     break;
 
-                case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_AREA:
-                    {
-                        a_nValue = (int)m_poMsrResults.GetMeasuredArea();
-                    }
-                    break;
-
                 case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_PARTICLE:
                     {
                         a_nValue = (int)m_poMsrResults.GetTotalParticleNumber();
                     }
                     break;
 
-                case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_PARTICLE_AREA:
-                    {
-                        a_nValue = (int)m_poMsrResults.GetTotalParticleArea();
-                    }
-                    break;
                 case OTS_SAMPLE_PROP_GRID_ITEMS.FIELDSTOP_AREAPERCENTAGE:
                     {
                         a_nValue = m_poMsrParams.GetImageScanParam().GetFieldAreaPercentage();
@@ -823,9 +814,9 @@ namespace OTSDataType
                 // read only properties, treat same as default
                 case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_FIELDS:
                 case OTS_SAMPLE_PROP_GRID_ITEMS.COMPLETED_FIELDS:
-                case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_AREA:
+                
                 case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_PARTICLE:
-                case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_PARTICLE_AREA:
+                
                 default:
                     {
                         // something wrong, return false
@@ -2021,7 +2012,20 @@ namespace OTSDataType
 
                         double dFieldArea = 0; // this area should be the field area
                         dFieldArea = CalculateAFieldArea();
-                        a_dValue = (double)m_poSEMDataMsr.GetTotalFields() * dFieldArea;//
+                        a_dValue = m_poSEMDataMsr.GetTotalFields() * dFieldArea;
+                    }
+                    break;
+
+                case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_AREA:
+                    {
+                        a_dValue = m_poMsrResults.GetMeasuredArea();
+                    }
+                    break;
+
+
+                case OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_PARTICLE_AREA:
+                    {
+                        a_dValue = m_poMsrResults.GetTotalParticleArea();
                     }
                     break;
 

+ 1 - 1
OTSIncAMeasureApp/8-OTSSampleMeasureInfo/OTSSampleData.cs

@@ -401,7 +401,7 @@ namespace OTSMeasureApp
             //测量面积
             SampleData sData30 = new SampleData();
             sData30.iSampleId = OTS_SAMPLE_PROP_GRID_ITEMS.TOTAL_AREA;
-            sData30.iSampleValType = OTS_ITEM_TYPES.INT;
+            sData30.iSampleValType = OTS_ITEM_TYPES.DOUBLE;
             sData30.sSCaptionName = "测量面积";
             sData30.SampleVal = 120;
             m_SMInfo.SampleDataList.Add(sData30);