Esempio n. 1
0
 /// <summary>
 /// Get the coordinary and direction of each ring
 /// </summary>
 /// <param name="modelSetting"></param>
 /// <returns></returns>
 private static List<RingInfo> GetRingInfo(ModelSetting modelSetting)
 {
     List<RingInfo> ringInfos = new List<RingInfo>();
     for (int i = 0; i < modelSetting.num_ring; i++ )
     {
         double mStart = modelSetting.axis.AxisPoints[0].Mileage + modelSetting.width * i;
         double mEnd = mStart + modelSetting.width;
         TunnelAxisPoint axisP1 = TunnelMappingUtility.MileageToAxisPoint(mStart, modelSetting.axis);
         TunnelAxisPoint axisP2 = TunnelMappingUtility.MileageToAxisPoint(mEnd, modelSetting.axis);
         RingInfo info = new RingInfo();
         info.x = axisP1.X;
         info.y = axisP1.Y;
         info.z = axisP1.Z;
         info.vecX = axisP2.X - axisP1.X;
         info.vecY = axisP2.Y - axisP1.Y;
         info.vecZ = axisP2.Z - axisP1.Z;
         ringInfos.Add(info);
     }
     return ringInfos;
 }
Esempio n. 2
0
 private static void ChangeLocal(RingInfo info, ShieldTunnel3DResult result)
 {
     result.changeLocal = String.Format("local,11,0,{0:0.00},{1:0.00},{2:0.00},{3:0.00},{4:0.00},{5:0.00}",
         info.x, info.y, info.z,
         Math.Atan(info.vecY / info.vecX) / Math.PI * 180, 0, Math.Atan(info.vecZ / info.vecX) / Math.PI * 180);
 }