private static void processWater(string nameLayer, ObjectId idPolyGuideline, BlockTableRecord ms, ref List <POI> varPOI, out ObjectId idAlign) { string nameAlign = Align.getAlignName(nameLayer); Alignment align = Align.addAlignmentFromPoly(nameAlign, nameLayer, idPolyGuideline, "Standard", "Standard", true); fStake.ACTIVEALIGN = align; idAlign = align.ObjectId; fStake.objectID = idAlign; Stake_GetCardinals.getCardinals_Horizontal(idAlign, ref varPOI); Stake_GetNestedObjects.getNestedObjects(idAlign, ref varPOI, "CNTL"); Stake_GetCardinals.getCrossingAligns(idAlign, ref varPOI); varPOI = Stake_ModifyStaking.modifyStaking(varPOI); fStake.POI_ORG = varPOI; Stake_GetCardinals.checkBegAndEndStations(idAlign, ref varPOI); Stake_AddProfile.makeProfile(idAlign, varPOI, "STAKE", "ByLayout", false); Stake_GetAnglePoints.getAnglePoints(idAlign, ref varPOI);//IDENTIFY ANGLE POINTS - CHECK IF CLOSED var sortSta = from s in varPOI orderby s.Station ascending select s; List <POI> poiTmp = new List <POI>(); foreach (var s in sortSta) { poiTmp.Add(s); } varPOI = poiTmp; Stake_DuplicateStations.resolveDuplicateStations(ref varPOI); Stake_GetSurfaceElev.getSurfaceElevations(idAlign, ref varPOI);//ALL ELEVATIONS COME FROM SURFACE Stake_AddProfile.makeProfile(idAlign, varPOI, "STAKE", "ByLayout", true); if (varPOI[0].isClosed) { Stake_GetAnglePoints.addEndElev(idAlign, ref varPOI, "CPNT"); } Stake_UpdateProfile.updateProfile(idAlign, varPOI, "STAKE", true, "STAKE"); fStake.POI_CALC = varPOI; }
modifyStaking(List <POI> varpoi) { Alignment objAlign = fStake.ACTIVEALIGN; ObjectId idAlign = objAlign.ObjectId; List <POI> varPOIadd = new List <POI>(); if (Stake_GetCardinals.userAddCrossingsFeatures(idAlign, ref varPOIadd)) { switch (fStake.ClassObj) { case "WTR": Stake_GetSurfaceElev.getSurfaceElevations(idAlign, ref varPOIadd); break; case "ALIGN": case "SEWER": Stake_GetSurfaceElev.getProfileElevations(idAlign, "STAKE", ref varPOIadd); break; } for (int i = 0; i <= varPOIadd.Count; i++) { varpoi.Add(varPOIadd[i]); } var sortSta = from s in varpoi orderby s.Station ascending select s; List <POI> poitmp = new List <POI>(); foreach (var s in sortSta) { poitmp.Add(s); } varpoi = poitmp; Stake_AddProfile.makeProfile(idAlign, varpoi, "STAKE", "ByLayout", true); switch (fStake.ClassObj) { case "ALIGN": case "SEWER": Stake_UpdateProfile.updateProfile(idAlign, varpoi, "STAKE", false, "STAKE"); break; } List <AlgnData> algnData = fStake.algnData; AlgnData aData = new AlgnData(); Table objTable = null; for (int i = 1; i < algnData.Count; i++) { aData = algnData[i]; if (aData.AlignHandle == objAlign.Handle) { objTable = (Table)aData.TableHandle.getEnt(); objTable.ObjectId.delete(); break; } } ObjectId idTable = Stake_Table.makeTable(idAlign, varpoi, aData); Stake_Table.addTableData(idTable, varpoi); } return(varpoi); }