|
|
@@ -566,6 +566,72 @@ namespace OTSModelSharp
|
|
|
return pDomain;
|
|
|
}
|
|
|
|
|
|
+ public CDomain GetDomain(List<String> a_listString)
|
|
|
+ {
|
|
|
+ // domain
|
|
|
+ CDomain pDomain = null;
|
|
|
+
|
|
|
+ // check value string list size
|
|
|
+ if ((int)a_listString.Count != DOMAIN_ITEM_NUMBER)
|
|
|
+ {
|
|
|
+ return pDomain;
|
|
|
+ }
|
|
|
+
|
|
|
+ // shape
|
|
|
+ int nValue = 0;
|
|
|
+ String strValue = a_listString[0];
|
|
|
+ if (!StringToInt(strValue, nValue))
|
|
|
+ {
|
|
|
+ return pDomain;
|
|
|
+ }
|
|
|
+ // check the shape value
|
|
|
+ if (nValue < (int)DOMAIN_SHAPE.MIN || nValue > (int)DOMAIN_SHAPE.MAX)
|
|
|
+ {
|
|
|
+ return pDomain;
|
|
|
+ }
|
|
|
+ DOMAIN_SHAPE nShape = (DOMAIN_SHAPE)nValue;
|
|
|
+
|
|
|
+ // position
|
|
|
+ strValue = a_listString[1];
|
|
|
+ if (!StringToInt(strValue, nValue))
|
|
|
+ {
|
|
|
+ return pDomain;
|
|
|
+ }
|
|
|
+ int nCentreX = nValue;
|
|
|
+ strValue = a_listString[2];
|
|
|
+ if (!StringToInt(strValue, nValue))
|
|
|
+ {
|
|
|
+ return pDomain;
|
|
|
+ }
|
|
|
+ int nCentreY = nValue;
|
|
|
+
|
|
|
+ // diameter/width
|
|
|
+ strValue = a_listString[3];
|
|
|
+ if (!StringToInt(strValue, nValue))
|
|
|
+ {
|
|
|
+ return pDomain;
|
|
|
+ }
|
|
|
+ int nDiameter_Width = nValue;
|
|
|
+
|
|
|
+ // height/spare
|
|
|
+ strValue = a_listString[4];
|
|
|
+ if (nShape == DOMAIN_SHAPE.RECTANGLE)
|
|
|
+ {
|
|
|
+ if (!StringToInt(strValue, nValue))
|
|
|
+ {
|
|
|
+ return pDomain;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ int nDiameter_nHeight = nValue;
|
|
|
+
|
|
|
+ // create domain
|
|
|
+ Rect aa =new rectDomain(0, 0, nDiameter_Width, nDiameter_nHeight);
|
|
|
+ pDomain = new CDomain(nShape, rectDomain);
|
|
|
+ pDomain.OffsetDomain(new System.Drawing.Point(nCentreX - (nDiameter_Width / 2), nCentreY - (nDiameter_nHeight / 2)));
|
|
|
+ // return the domain pointer
|
|
|
+ return pDomain;
|
|
|
+ }
|
|
|
+
|
|
|
// get Hole
|
|
|
public CHole GetHole(String a_strValue) //改完hole类再改此处
|
|
|
{
|
|
|
@@ -888,38 +954,38 @@ namespace OTSModelSharp
|
|
|
String strStageTextBody = "";
|
|
|
|
|
|
|
|
|
- //// stage name
|
|
|
- //String strTitle = "";
|
|
|
- //strTitle = GetStringByKey(OTSModelresource.IDS_STAGE_FILE_TITLE_FIRST.ToString());
|
|
|
- //strStageTextBody += strTitle + otsdataconst.FILE_TITLE_SPLIT + " " + a_pStage.GetName() + otsdataconst.LINE_END;//OTSModelConst类修改完再修改此类
|
|
|
+ // stage name
|
|
|
+ String strTitle = "";
|
|
|
+ strTitle = OTSModelresource.IDS_STAGE_FILE_TITLE_FIRST.ToString();
|
|
|
+ strStageTextBody += strTitle + otsdataconst.FILE_TITLE_SPLIT + " " + a_pStage.GetName() + otsdataconst.LINE_END;
|
|
|
|
|
|
- //// coordinate system
|
|
|
- //// always export OTS coordinate system stage
|
|
|
- //strTitle = GetStringByKey(OTSModelresource.IDS_STAGE_FILE_TITLE_FIRST.ToString() + 1);
|
|
|
- //strStageTextBody += strTitle + otsdataconst.FILE_TITLE_SPLIT + " " + "0" + otsdataconst.LINE_END;//OTSModelConst类修改完再修改此类
|
|
|
+ // coordinate system
|
|
|
+ // always export OTS coordinate system stage
|
|
|
+ strTitle = OTSModelresource.IDS_STAGE_FILE_TITLE_FIRST.ToString() + 1;
|
|
|
+ strStageTextBody += strTitle + otsdataconst.FILE_TITLE_SPLIT + " " + "0" + otsdataconst.LINE_END;
|
|
|
|
|
|
- //// boundary
|
|
|
- //strTitle = GetStringByKey(OTSModelresource.IDS_STAGE_FILE_TITLE_FIRST.ToString() + 2);
|
|
|
- //strStageTextBody += strTitle + otsdataconst.FILE_TITLE_SPLIT + " ";
|
|
|
- //String strDomain = GetDomainTextBody(a_pStage.GetBoundary());
|
|
|
- //strStageTextBody += strDomain;
|
|
|
+ // boundary
|
|
|
+ strTitle = OTSModelresource.IDS_STAGE_FILE_TITLE_FIRST.ToString() + 2;
|
|
|
+ strStageTextBody += strTitle + otsdataconst.FILE_TITLE_SPLIT + " ";
|
|
|
+ String strDomain = GetDomainTextBody(a_pStage.GetBoundary());
|
|
|
+ strStageTextBody += strDomain;
|
|
|
|
|
|
- //// STD
|
|
|
- //strTitle= GetStringByKey(OTSModelresource.IDS_STAGE_FILE_TITLE_FIRST.ToString() + 3);
|
|
|
- //strStageTextBody += strTitle + otsdataconst.FILE_TITLE_SPLIT + " ";
|
|
|
- //strDomain = GetDomainTextBody(a_pStage.GetSTD());
|
|
|
- //strStageTextBody += strDomain;
|
|
|
+ // STD
|
|
|
+ strTitle = OTSModelresource.IDS_STAGE_FILE_TITLE_FIRST.ToString() + 3;
|
|
|
+ strStageTextBody += strTitle + otsdataconst.FILE_TITLE_SPLIT + " ";
|
|
|
+ strDomain = GetDomainTextBody(a_pStage.GetSTD());
|
|
|
+ strStageTextBody += strDomain;
|
|
|
|
|
|
- //// holes
|
|
|
- //foreach (var pHole in a_pStage.GetHoleList())
|
|
|
- //{
|
|
|
+ // holes
|
|
|
+ foreach (var pHole in a_pStage.GetHoleList())
|
|
|
+ {
|
|
|
|
|
|
- // strTitle = GetStringByKey(OTSModelresource.IDS_STAGE_FILE_TITLE_FIRST.ToString() + 4);
|
|
|
- // strStageTextBody += strTitle + otsdataconst.FILE_TITLE_SPLIT + " ";
|
|
|
- // strStageTextBody += pHole.GetName() + otsdataconst.FILE_VALUE_SPLIT + " ";
|
|
|
- // strDomain = GetDomainTextBody(pHole);
|
|
|
- // strStageTextBody += strDomain;
|
|
|
- //}
|
|
|
+ strTitle = OTSModelresource.IDS_STAGE_FILE_TITLE_FIRST.ToString() + 4;
|
|
|
+ strStageTextBody += strTitle + otsdataconst.FILE_TITLE_SPLIT + " ";
|
|
|
+ strStageTextBody += pHole.GetName() + otsdataconst.FILE_VALUE_SPLIT + " ";
|
|
|
+ strDomain = GetDomainTextBody(pHole);
|
|
|
+ strStageTextBody += strDomain;
|
|
|
+ }
|
|
|
|
|
|
//// return stage text body
|
|
|
return strStageTextBody;
|
|
|
@@ -1284,27 +1350,50 @@ namespace OTSModelSharp
|
|
|
}
|
|
|
|
|
|
//public CStage GetWorkingStage() { return null; }
|
|
|
- public CStage GetWorkingStage()
|
|
|
- {
|
|
|
- if (this == null)
|
|
|
+ // public CStage GetWorkingStage()
|
|
|
+ // {
|
|
|
+ //if (this == null)
|
|
|
+
|
|
|
+ // {
|
|
|
+ // Nloger.Error("GetWorkingStage: invalid pointer.");
|
|
|
+ // return null;
|
|
|
+ // }
|
|
|
|
|
|
+ // CStage pStage = GetWorkingStage1();
|
|
|
+
|
|
|
+ //if (pStage == null)
|
|
|
+ //{
|
|
|
+ // Nloger.Error("GetWorkingStage::invalide stage pointer");
|
|
|
+ // return null;
|
|
|
+ //}
|
|
|
+
|
|
|
+ // CStage pStageClr = new CStage(pStage);
|
|
|
+
|
|
|
+ //return pStageClr;
|
|
|
+ // }
|
|
|
+
|
|
|
+ public CStage GetWorkingStage()
|
|
|
{
|
|
|
- Nloger.Error("GetWorkingStage: invalid pointer.");
|
|
|
- return null;
|
|
|
- }
|
|
|
+ List< CStage> listStage = GetStagesList();
|
|
|
+ int nSize = (int)listStage.Count;
|
|
|
+ int nWorkingId = GetWorkingStageId();
|
|
|
|
|
|
- CStage pStage = GetWorkingStage1();
|
|
|
+ if (nWorkingId > nSize)
|
|
|
+ {
|
|
|
+ Nloger.Error("GetWorkingStage: workingStage positon %d is error. ", nWorkingId);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
- if (pStage == null)
|
|
|
- {
|
|
|
- Nloger.Error("GetWorkingStage::invalide stage pointer");
|
|
|
- return null;
|
|
|
- }
|
|
|
+ if (nWorkingId == -1)
|
|
|
+ {
|
|
|
+ Nloger.Error("GetWorkingStage: stage list is empty. ");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
- CStage pStageClr = new CStage(pStage);
|
|
|
+ CStage pStage = listStage[nWorkingId];
|
|
|
|
|
|
- return pStageClr;
|
|
|
- }
|
|
|
+ return pStage;
|
|
|
+ }
|
|
|
public CStage GetWorkingStage1()
|
|
|
{
|
|
|
List< CStage> listStage = GetStagesList();
|