浏览代码

improve distribute image display. calculate area property of the merged matrix particle.

gsp 3 年之前
父节点
当前提交
cceac7a294

+ 13 - 1
OTSCPP/OTSClrInterface/CommonClr/OTSParticleClr.cpp

@@ -133,9 +133,21 @@ namespace OTSCLRINTERFACE {
 
 		return nArea;
 	}
+	double COTSParticleClr::GetPixelArea()
+	{
+		double nArea = -1;
+
+		if (m_Particle != nullptr)
+		{
+			nArea = m_Particle->get()->GetPixelArea();
+		}
+
+		return nArea;
+	
+	}
 
 
-	void COTSParticleClr::SetArea(double a_dArea)
+	void COTSParticleClr::SetActualArea(double a_dArea)
 	{
 		if (m_Particle != nullptr)
 		{

+ 5 - 7
OTSCPP/OTSClrInterface/CommonClr/OTSParticleClr.h

@@ -43,7 +43,9 @@ namespace OTSCLRINTERFACE {
 		void SetClassifyId(int a_nType);
 		//area
 		double GetActualArea();
-		void SetArea(double a_dArea);
+		void SetActualArea(double a_dArea);
+
+		double GetPixelArea();
 
 		// gray
 		BYTE GetAveGray();
@@ -56,8 +58,7 @@ namespace OTSCLRINTERFACE {
 		cli::array<System::Drawing::Point^>^ GetXrayMatrixPoints();
 		void SetXrayMatrixPoints(cli::array<System::Drawing::Point^>^ points);
 
-	/*	cli::array<CPosXrayClr^>^ GetXrayMatrixInfo();
-		void SetXrayMatrixInfo(cli::array<CPosXrayClr^>^ xrayInfos);*/
+
 
 		void CalXrayPos()
 		{
@@ -89,10 +90,7 @@ namespace OTSCLRINTERFACE {
 		// field id
 		int GetFieldId();
 		void SetFieldId(int a_nFieldId);
-		/*double GetArea()
-		{
-			return m_Particle->get()->GetArea();
-		}*/
+
 		double GetDMAX()
 		{
 			return m_Particle->get()->GetDMax();			

+ 3 - 3
OTSCPP/OTSData/OTSParticle.cpp

@@ -217,7 +217,7 @@ namespace OTSDATA {
 
 
 	
-	BOOL COTSParticle::CalArea()
+	BOOL COTSParticle::CalPixelArea()
 	{
 		ASSERT(m_pFeature);
 		if (!m_pFeature)
@@ -230,7 +230,7 @@ namespace OTSDATA {
 		// Area is all the segment's length add.
 		int nSize = (int)a_listSegment.size();
 
-		m_dArea = 0;
+		m_dPixelArea = 0;
 
 		// no segment, no need to compute
 		if (nSize <= 0)
@@ -241,7 +241,7 @@ namespace OTSDATA {
 		// loop segment list
 		for (auto pSegement : a_listSegment)
 		{
-			m_dArea += (double)pSegement->GetLength();
+			m_dPixelArea += (double)pSegement->GetLength();
 		}
 
 		return TRUE;

+ 13 - 3
OTSCPP/OTSData/OTSParticle.h

@@ -60,11 +60,21 @@ const double Pi = 3.14159;
 		void SetActualArea(double a_nArea) { m_dArea = a_nArea; }
 
 		// Pixel area
-		double GetPixelArea() { return m_dPixelArea; }
+		double GetPixelArea() 
+		{ 
+			if (m_dPixelArea == 0) CalPixelArea();
+			return m_dPixelArea;
+		
+		}
 		void SetPixelArea(double a_nArea) { m_dPixelArea = a_nArea; }
 		
 		// rectangle
-		CRect GetParticleRect() { return m_rectParticle; }
+		CRect GetParticleRect() 
+		{
+			
+			return m_rectParticle;
+		
+		}
 		void SetParticleRect(CRect& a_rectParticle) { m_rectParticle = a_rectParticle; }
 
 		COTSRect GetOTSRect() { return m_OTSRect; }
@@ -149,7 +159,7 @@ const double Pi = 3.14159;
 		
 		// calculate area, rect, average gray, and xRay pos
 		BOOL CalCoverRect();
-		BOOL CalArea();
+		BOOL CalPixelArea();
 		BOOL CalXRayPos();
 
 		std::string TypeName() const { return m_TypeName; }

+ 5 - 3
OTSIncAMeasureApp/0-OTSModel/Measure/5-OTSMining/SmplMeasureMining.cs

@@ -92,7 +92,7 @@ namespace OTSModelSharp
 
             ClassifyFieldParticles(curFldData);
 
-            MergeSubParticleByTheXrayClassification(curFldData);
+            MergeSubParticleByTheXrayClassification(curFldData, m_Sample.CalculatePixelSize());
 
             //curFldData.CalParticleImageProp(curFldData.GetListAnalysisParticles(), 0);//recalculate the image property of the new merged particles.
 
@@ -170,7 +170,7 @@ namespace OTSModelSharp
 
         }
 
-        private void MergeSubParticleByTheXrayClassification(COTSFieldData curFldData)
+        private void MergeSubParticleByTheXrayClassification(COTSFieldData curFldData,double pixelSize)
         {
             var rawParts = curFldData.GetListAnalysisParticles();
            
@@ -212,7 +212,9 @@ namespace OTSModelSharp
                     }
                     firstPart.SetAnalysisId(finalParts.Count);
                     firstPart.SetParticleId(finalParts.Count);
-                   
+                    double pixelarea = firstPart.GetPixelArea();
+                    double actualArea = pixelarea * pixelSize;
+                    firstPart.SetActualArea(actualArea);
                     finalParts.Add(firstPart);
 
                 }

+ 2 - 2
OTSIncAMeasureApp/0-OTSModel/Measure/DBDataTransition/IncADataDB.cs

@@ -132,7 +132,7 @@ namespace OTSModelSharp
                     p.SetSubParticlesName("");
                     byte aveGray = Convert.ToByte(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_AVE_GRAY]);
                     p.SetAveGray(aveGray);
-                    p.SetArea(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_AREA]));
+                    p.SetActualArea(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_AREA]));
                     p.SetAnalysisId(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_XRAY_ID]));
                     p.SetDMAX(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DMAX]));
                     p.SetDMIN(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DMIN]));
@@ -169,7 +169,7 @@ namespace OTSModelSharp
                     p.SetParticleRect(r);
                     //p.SetSubParticles("");                   
                     p.SetAveGray(Convert.ToByte(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_AVE_GRAY]));
-                    p.SetArea(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_AREA]));
+                    p.SetActualArea(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_AREA]));
                     p.SetAnalysisId(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.N_XRAY_ID]));
                     p.SetDMAX(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DMAX]));
                     p.SetDMIN(Convert.ToInt32(allRecords.Rows[i][(int)CIncADataTable.ColumnID.F_DMIN]));

+ 2 - 2
OTSIncAMeasureApp/0-OTSModel/Measure/DBDataTransition/MergedParticles/MergeParticleDB.cs

@@ -125,7 +125,7 @@ namespace OTSModelSharp
                     p.SetParticleRect(r);
                    
                     p.SetAveGray(Convert.ToByte(allRecords.Rows[(int)CMergeParticleTable.ColumnID.N_AVE_GRAY][0]));
-                    p.SetArea((int)allRecords.Rows[(int)CMergeParticleTable.ColumnID.F_AREA][0]);
+                    p.SetActualArea((int)allRecords.Rows[(int)CMergeParticleTable.ColumnID.F_AREA][0]);
                     p.SetAnalysisId((int)allRecords.Rows[(int)CMergeParticleTable.ColumnID.N_XRAY_ID][0]);
                     //p.SetDMax((int)allRecords.Rows[(int)CMergeParticleTable.ColumnID.F_DMAX][0]);
                     //p.SetDMin((int)allRecords.Rows[(int)CMergeParticleTable.ColumnID.F_DMIN][0]);
@@ -158,7 +158,7 @@ namespace OTSModelSharp
                     p.SetParticleRect(r);
                    
                     p.SetAveGray(Convert.ToByte(allRecords.Rows[(int)CMergeParticleTable.ColumnID.N_AVE_GRAY][0]));
-                    p.SetArea((int)allRecords.Rows[(int)CMergeParticleTable.ColumnID.F_AREA][0]);
+                    p.SetActualArea((int)allRecords.Rows[(int)CMergeParticleTable.ColumnID.F_AREA][0]);
                     p.SetAnalysisId((int)allRecords.Rows[(int)CMergeParticleTable.ColumnID.N_XRAY_ID][0]);
                     //p.SetDMax((int)allRecords.Rows[(int)CMergeParticleTable.ColumnID.F_DMAX][0]);
                     //p.SetDMin((int)allRecords.Rows[(int)CMergeParticleTable.ColumnID.F_DMIN][0]);

+ 10 - 5
OTSIncAReportApp/1-UI/Control_Graph/Controls/Control_DrawDistrbutionImageAndBSE.cs

@@ -431,7 +431,7 @@ namespace OTSIncAReportGraph.Controls
                 }
                 catch (Exception ex)
                 {
-                    NLog.LogManager.GetCurrentClassLogger().Info(ex.Message.ToString());
+                    NLog.LogManager.GetCurrentClassLogger().Info(ex.ToString());
                 }
                
                
@@ -1887,7 +1887,7 @@ namespace OTSIncAReportGraph.Controls
         /// 设置显示BSE原图,还是显示分布图带有标准库的
         /// </summary>
        
-        public void ShowMode(IMAGE_TYPE a_type)
+        public void SetShowMode(IMAGE_TYPE a_type)
         {
             if (a_type == IMAGE_TYPE.BSE)
             {
@@ -1896,7 +1896,9 @@ namespace OTSIncAReportGraph.Controls
                 m_backrangecolor = Color.White;
                 foreach (DisplayParticle ls_dp in m_list_allDPart)
                 {
+                    ls_dp.SetDisplayState(DisplayState.DISPLAY);
                     ls_dp.ShowMode = SegmentShowMode.DRAWPOINT;
+                   
 
                 }
               
@@ -1907,9 +1909,10 @@ namespace OTSIncAReportGraph.Controls
                 OriginalBackground = false;
                 foreach (DisplayParticle ls_dp in m_list_allDPart)
                 {
-                    
+                    ls_dp.SetDisplayState(DisplayState.DISPLAY);
                     ls_dp.ShowMode = SegmentShowMode.DRAWLINE;
-                   
+                  
+
                 }
                
             }
@@ -1920,6 +1923,7 @@ namespace OTSIncAReportGraph.Controls
                 foreach (DisplayParticle ls_dp in m_list_allDPart)
                 {
                     ls_dp.SetDisplayState(DisplayState.NODISPLAY);
+                 
                 }
                
             }
@@ -1931,7 +1935,8 @@ namespace OTSIncAReportGraph.Controls
                 {
                    
                     ls_dp.ShowMode = SegmentShowMode.DRAWLINE;
-                   
+                    ls_dp.SetDisplayState(DisplayState.DISPLAY);
+
                 }
               
             }

+ 9 - 15
OTSIncAReportApp/1-UI/Control_Graph/Controls/Control_DrawDistrbutionSortImage.cs

@@ -137,7 +137,7 @@ namespace OTSIncAReportGraph.Controls
             resultFile = m_ReportApp.m_rstDataMgr.CurResultFile;
 
             //初始化数据操作类
-            m_ReportFun = m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.imageDisHelper;
+            m_imgDisHelper = m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.imageDisHelper;
             m_list_baseobject = new List<DisplayParticle>();
             var allpart = m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.m_list_allDPart;
             for (int i=0;i< allpart.Count;i++)
@@ -584,7 +584,7 @@ namespace OTSIncAReportGraph.Controls
                                     PointF[] lspointf = ls_gpath.PathPoints;
                                     for (int i = 0; i < lspointf.Count(); i++)
                                     {
-                                        if (true == m_ReportFun.WhetherInRange(m_SelectTool.Rect,lspointf, new Point((int)dp.GetShowRect().X,(int)dp.GetShowRect().Y)))
+                                        if (true == m_imgDisHelper.WhetherInRange(m_SelectTool.Rect,lspointf, new Point((int)dp.GetShowRect().X,(int)dp.GetShowRect().Y)))
                                         {
                                             //选择到了该路径,那么就选取该图像
                                             dp.IsSelect = true;
@@ -672,7 +672,7 @@ namespace OTSIncAReportGraph.Controls
                 {
                     foreach (DisplayParticle item in ls_sortparticledistribution.List_DParticle)
                     {
-                        if (true == m_ReportFun.WhetherInRange(item, e.Location))
+                        if (true == m_imgDisHelper.WhetherInRange(item, e.Location))
                         {
 
                             DisplayParticle dp = item;
@@ -1102,14 +1102,14 @@ namespace OTSIncAReportGraph.Controls
                     {
                         List<DisplayParticle> newParts = new List<DisplayParticle>();
                         var p = ls_dp.Clone() as DisplayParticle;
-                        //p.SetRect(p.GetRectFromDSegment());
+                   
                         newParts.Add(p);
                         FLNameList.Add(ls_dp.TypeName, newParts);
                     }
                     else
                     {
                         var p = ls_dp.Clone() as DisplayParticle;
-                        //p.SetRect(p.GetRectFromDSegment());
+                 
                         FLNameList[ls_dp.TypeName].Add(p);
 
                     }
@@ -1158,7 +1158,7 @@ namespace OTSIncAReportGraph.Controls
                 }
                 foreach (DisplayParticle ls_dp in m_list_baseobject)
                 {
-                    //ls_dp.displayState = DisplayState.NORMALDISPLAY;
+                   
                     var sizeCalItem = currentConditionValue[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE];
                     switch ((SIZE_CAL_METHOD_TYPE)sizeCalItem.itemVal)
                     {
@@ -1195,7 +1195,7 @@ namespace OTSIncAReportGraph.Controls
                         {
                             //将对应的颗粒添加到分栏grid中
                             DisplayParticle sort_dp = ls_dp.Clone() as DisplayParticle;
-                            //sort_dp.SetRect(sort_dp.GetRectFromDSegment());
+                          
                             sort[i].List_DParticle.Add(sort_dp);
                             break;
                         }
@@ -1274,10 +1274,7 @@ namespace OTSIncAReportGraph.Controls
                     foreach (DisplayParticle ls_dp in item.List_DParticle)
                     {
                         ls_dp.ShowMode = SegmentShowMode.DRAWPOINT;
-                        //foreach (DisplaySegment ls_ds in ls_dp.GetDSegments())
-                        //{
-                            
-                        //}
+                       
                     }
                 }
             }
@@ -1288,10 +1285,7 @@ namespace OTSIncAReportGraph.Controls
                     foreach (DisplayParticle ls_dp in item.List_DParticle)
                     {
                         ls_dp.ShowMode = SegmentShowMode.DRAWLINE;
-                        //foreach (DisplaySegment ls_ds in ls_dp.GetDSegments())
-                        //{
-                           
-                        //}
+                      
                     }
                 }
             }

+ 1 - 1
OTSIncAReportApp/1-UI/Control_Graph/OTSIncAReportGraphFuncation/OTSImageDisHelp.cs

@@ -722,7 +722,7 @@ namespace OTSIncAReportGraph.OTSIncAReportGraphFuncation
         {
             CImageHandler m_ImagePro = new CImageHandler();
             COTSParticleClr part = new COTSParticleClr();
-            part.SetArea(stats.At<int>(1, 4) * dPixelSize * dPixelSize);
+            part.SetActualArea(stats.At<int>(1, 4) * dPixelSize * dPixelSize);
             part.SetParticleRect(new Rectangle(stats.At<int>(1, 0), stats.At<int>(1, 1), stats.At<int>(1, 2), stats.At<int>(1, 3)));
             part.GetFeature().SetSegmentsList(SegmentClrList, false);
             m_ImagePro.CalParticleImageProp(part, dPixelSize);

+ 0 - 1
OTSIncAReportApp/1-UI/OTSDisplaySourceGridData/ChangeGridCellValEvent.cs

@@ -94,7 +94,6 @@ namespace OTSIncAReportApp.OTSDataMgrFunction
                 m_SampleGrid.m_frmPropCondition.m_ReportApp.im_ParticlesGridDevidePage = null;//需要重新刷新颗粒列表
 
 
-            //3,并根据CGridInClr条件从底层获取数据,并加载相应的模块
             m_SampleGrid.m_frmPropCondition.ShowDataDiagram(m_SampleGrid.m_frmPropCondition.tabIndex);
 
             //------------------------------------------------------------------------------------------------------------------

+ 14 - 31
OTSIncAReportApp/1-UI/OTSDisplaySourceGridData/frmReportConditionChoose.cs

@@ -208,7 +208,7 @@ namespace OTSIncAReportApp
         /// </summary>
         public void DisCurrentPicProperty()
         {
-            //ReportCondition SMInfo = new ReportCondition();
+           
             //获取工作样品属性
             if (!GetWorkingPictureConditionVal())
             {
@@ -321,7 +321,7 @@ namespace OTSIncAReportApp
                 sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE];
                 list.Add(sampleData);
 
-                //m_ReportApp.m_rstDataMgr.SetWorkingResult((int)sampleData.itemVal);
+               
                 //测量图类别 分布图 or 排列图
 
                 sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE];
@@ -417,11 +417,11 @@ namespace OTSIncAReportApp
 
                 sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE];
                 list.Add(sampleData);
-                //m_ReportApp.m_rstDataMgr.SetWorkingResult((int)sampleData.itemVal);
+             
 
                 //数据表类型
                 var sampleData3 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE];
-                //list.Add(sampleData3);
+            
                 
                 if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.PARTICALE_SIZE_DISTRIBUTION )
                 {
@@ -436,7 +436,7 @@ namespace OTSIncAReportApp
                     list.Add(sampleData5);
 
                     var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE];
-                    //list.Add(sampleData1);
+                  
                     list.Insert(1, sampleData1);
                 }
                 if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.PARTICALE_COMP)
@@ -446,20 +446,20 @@ namespace OTSIncAReportApp
                     list.Add(sampleData5);
 
                     var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE];
-                    //list.Add(sampleData1);
+                 
                     list.Insert(1, sampleData1);
                 }
 
                 if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO)
                 {
                     var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST];
-                    //list.Add(sampleData1);
+                  
                     list.Insert(1, sampleData1);
                 }
                 if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.AVE_ELEMENT_COMP)
                 {
                     var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE];
-                    //list.Add(sampleData1);
+                 
                     list.Insert(1, sampleData1);
                 }
                 list.Add(sampleData3);
@@ -471,7 +471,7 @@ namespace OTSIncAReportApp
 
                 sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE];
                 list.Add(sampleData);
-                //m_ReportApp.m_rstDataMgr.SetWorkingResult((int)sampleData.itemVal);
+            
                 var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE];
                 list.Add(sampleData1);
 
@@ -569,15 +569,15 @@ namespace OTSIncAReportApp
                             m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowSourceName = m_fileName;
                             m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.Dock = DockStyle.Fill;
                             m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionImageAndBSE);
-                           
+                            ConditionItem imgType = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE];
+                            //切换分布图显示方式
+                            IMAGE_TYPE t = (IMAGE_TYPE)imgType.itemVal;
+                            m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.SetShowMode(t);
                             m_ReportApp.m_SImageWindow.Activate();
                             m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DrawDistrbutionImageAndBSE_ByQuery(m_SourceGridData);
                             m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.SetSelectParticle(m_ReportApp.GetSelectedParticles());
 
-                            ConditionItem imgType =m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE];
-                            //切换分布图显示方式
-                            IMAGE_TYPE t = (IMAGE_TYPE)imgType.itemVal;
-                            m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowMode(t);
+                            
 
                           
 
@@ -660,7 +660,6 @@ namespace OTSIncAReportApp
                     #region 第二页选项窗体,分析数据表
                     m_ReportApp.m_RibbonFun.SetRibbonButnStatu_ByModule(DisplayPicutureType.AnalyzeDataTable);
 
-                    //idx = m_RstProp.m_ReportApp.m_DataMgrFun.GetPropIndexByPropItemName(m_RstProp.SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE);
                     CALCULATE_TABLE_TYPE TableType = (CALCULATE_TABLE_TYPE)prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE);
                     switch (TableType)
                     {
@@ -713,7 +712,6 @@ namespace OTSIncAReportApp
                             //国标一
                             Cursor.Current = Cursors.WaitCursor;
 
-                            //string selectRstName= m_ReportApp.m_conditionChoose.m_SourceGridData.GetPropItemDisplayValueByPropItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE).ToString();
                             int index = m_ReportApp.m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE);
 
                             for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++)
@@ -743,13 +741,10 @@ namespace OTSIncAReportApp
                             Cursor.Current = Cursors.Default;
                             m_ReportApp.m_TablesWindow.Activate();
 
-                            //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath+"\\"
-                            //    + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "GB1");
                             break;
                         case CALCULATE_TABLE_TYPE.GB_Method2:
                             //国标二
                             Cursor.Current = Cursors.WaitCursor;
-                            //string selectRstName2 = m_ReportApp.m_conditionChoose.m_SourceGridData.GetPropItemDisplayValueByPropItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE).ToString();
                             int index2 = m_ReportApp.m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE);
                         
                             for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++)
@@ -775,14 +770,11 @@ namespace OTSIncAReportApp
                             m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_NationalStandardMethodTwo);
                             Cursor.Current = Cursors.WaitCursor;
                             m_ReportApp.m_TablesWindow.Activate();
-                            //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath + "\\"
-                            //    + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "GB2");
                             break;
                         case CALCULATE_TABLE_TYPE.ASTM:
                             //美标
                             Cursor.Current = Cursors.WaitCursor;
 
-                            //string selectRstName3 = m_ReportApp.m_conditionChoose.m_SourceGridData.GetPropItemDisplayValueByPropItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE).ToString();
                             int index3 = m_ReportApp.m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE);
                          
                             for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++)
@@ -808,13 +800,10 @@ namespace OTSIncAReportApp
                             m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ASTMStandardABCDDS);
                             Cursor.Current = Cursors.Default;
                             m_ReportApp.m_TablesWindow.Activate();
-                            //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath + "\\"
-                            //    + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "ASTM");
                             break;
                         case CALCULATE_TABLE_TYPE.DIN:
                             //德标
                             Cursor.Current = Cursors.WaitCursor;
-                            //string selectRstName4 = m_ReportApp.m_conditionChoose.m_SourceGridData.GetPropItemDisplayValueByPropItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE).ToString();
                             int index4 = m_ReportApp.m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE);
                        
                             for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++)
@@ -840,8 +829,6 @@ namespace OTSIncAReportApp
                             m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_DINStandardABCDDS);
                             Cursor.Current = Cursors.Default;
                             m_ReportApp.m_TablesWindow.Activate();
-                            //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath + "\\"
-                            //    + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "DIN");
                             break;
                     }
 
@@ -857,7 +844,6 @@ namespace OTSIncAReportApp
                     string m_str_AxisY = "";
                     string str_operatonmodule = "";
 
-                    //idx = m_RstProp. m_ReportApp.m_DataMgrFun.GetPropIndexByPropItemName(m_RstProp.SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE);
                     CALCULATE_CHART_TYPE ChartType = (CALCULATE_CHART_TYPE)prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE);
                     switch (ChartType)
                     {
@@ -902,9 +888,6 @@ namespace OTSIncAReportApp
                             break;
                         case CALCULATE_CHART_TYPE.TRIO_CHART:
 
-                            //idx = m_RstProp. m_ReportApp.m_DataMgrFun.GetPropIndexByPropItemName(m_RstProp. SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);
-                            //string TrioChartType = prop.ConditionItemList[idx].itemVal.ToString();
-                            //List<string> nameList = prop.ConditionItemList[idx].comboDownList;
                             int index = prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);
 
                             str_operatonmodule = resTable["str_operatonmodule5"].ToString();

+ 2 - 21
OTSIncAReportApp/1-UI/frmReportApp.cs

@@ -470,8 +470,6 @@ namespace OTSIncAReportApp
             switch (tabIndex)
             {
                 case (int)DisplayPicutureType.AnalyzeImg:
-                    //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
                     int imgDisType=m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
                     if (imgDisType == 0)
                     {
@@ -511,8 +509,6 @@ namespace OTSIncAReportApp
             switch (tabIndex)
             {
                 case (int)DisplayPicutureType.AnalyzeImg:
-                    //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
                     int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
                     if (imgDisType == 0)
                     {
@@ -552,8 +548,6 @@ namespace OTSIncAReportApp
             switch (tabIndex)
             {
                 case (int)DisplayPicutureType.AnalyzeImg:
-                    //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
                     int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
                     if (imgDisType == 0)
                     {
@@ -592,8 +586,6 @@ namespace OTSIncAReportApp
             switch (tabIndex)
             {
                 case (int)DisplayPicutureType.AnalyzeImg:
-                    //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
                     int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
                     if (imgDisType == 0)
                     {
@@ -635,8 +627,6 @@ namespace OTSIncAReportApp
         public void rbRenewFun(bool isReview, int FieldId, int ParticleId)
         {
             int tabIndex = (int)m_conditionChoose.tabIndex;
-            //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-            //int DisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
             int DisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
             switch (tabIndex)
             {
@@ -665,7 +655,7 @@ namespace OTSIncAReportApp
                             ConditionItem imgType = m_conditionChoose.m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE];
                             //切换分布图显示方式
                             IMAGE_TYPE t = (IMAGE_TYPE)imgType.itemVal;
-                            im_Control_DrawDistrbutionImageAndBSE.ShowMode(t);
+                            im_Control_DrawDistrbutionImageAndBSE.SetShowMode(t);
 
                             //并删除排列图
                             im_Control_DrawDistrbutionSortImage = null;
@@ -712,8 +702,6 @@ namespace OTSIncAReportApp
             {
                 case (int)DisplayPicutureType.AnalyzeImg:
 
-                    //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
                     int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
                     if (imgDisType == 0)
                     {
@@ -753,8 +741,6 @@ namespace OTSIncAReportApp
             {
                 case (int)DisplayPicutureType.AnalyzeImg:
 
-                    //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
                     IMAGE_DISPLAY_TYPE imgDisType = (IMAGE_DISPLAY_TYPE)m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
                     if (imgDisType == IMAGE_DISPLAY_TYPE.DISTRIBUTION)
                     {
@@ -793,9 +779,6 @@ namespace OTSIncAReportApp
             switch (tabIndex)
             {
                 case (int)DisplayPicutureType.AnalyzeImg:
-
-                    //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
                     int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
                     if (imgDisType == 0)
                     {
@@ -835,10 +818,8 @@ namespace OTSIncAReportApp
             {
                 case (int)DisplayPicutureType.AnalyzeImg:
 
-                    //int idx = m_DataMgrFun.GetPropIndexByPropItemName(SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    //int imgDisType = SourceGridData.ConditionItemList[idx].comboDownList.IndexOf(SourceGridData.ConditionItemList[idx].itemVal.ToString());
                     int imgDisType = m_conditionChoose.m_SourceGridData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    if (imgDisType == 0)// oper_module == "颗粒分布图"
+                    if (imgDisType == 0)
                     {
                         if (im_Control_DrawDistrbutionImageAndBSE != null)
                         {

+ 9 - 1
OTSIncAReportApp/2-CommonFunction/CommonClass/DisplayParticle.cs

@@ -638,6 +638,12 @@ namespace OTSIncAReportGraph
         public void SetDisplayState(DisplayState value)
         {
             m_displayState = value;
+            if (m_displayState == DisplayState.DISPLAY)
+            {
+                m_paintState = PaintState.PAINT;
+            }
+          
+
         }
 
 
@@ -908,7 +914,9 @@ namespace OTSIncAReportGraph
             rect.Width = i_width - rect.X ;
             rect.Height = i_height - rect.Y ;
 
-        
+            if (rect.Width < 1) rect.Width = 1;
+            if (rect.Height < 1) rect.Height = 1;
+
 
             return rect;
         }