コード例 #1
0
ファイル: RaySheet.cs プロジェクト: PaulSchrum/RM21SourceCore
        public override void DrawCrossSection(IRM21cad2dDrawingContext cadContext,
         ref StationOffsetElevation aSOE, int whichSide)
        {
            double LLH = LiederLineHeight;
             double ribbonWidth;
             double X1 = aSOE.offset;
             double Y1 = aSOE.elevation;
             this.moveToOuterEdge(ref aSOE, whichSide);
             if (X1 == aSOE.offset && Y1 == aSOE.elevation) return;

             cadContext.Draw(X1, Y1, aSOE.offset, aSOE.elevation);
             return;
        }
コード例 #2
0
 private void DrawCenterLineAnnotationelementsForXS(IRM21cad2dDrawingContext cadContext, CogoStation station)
 {
     cadContext.setElementColor(Color.FromArgb(255, 255, 255, 255));
      cadContext.setElementWeight(1.5);
      cadContext.Draw(0.0, 0.5, 0.0, 8.0);
      cadContext.Draw("C", -0.45, 8.6, 0.0);
      cadContext.Draw("L", -0.2, 8.3, 0.0);
 }
コード例 #3
0
        public void DrawPlanViewSchematic(IRM21cad2dDrawingContext cadContext, CogoStation station)
        {
            cadContext.setElementColor(Color.FromArgb(255, 255, 255, 0));  // yellow
             cadContext.setElementWeight(2.25);

             double begSta = Alignment.BeginStation;
             double endSta = Alignment.EndStation;

             cadContext.Draw(0.0, begSta, 0.0, endSta);

             foreach (var pglGrouping in allPGLgroupings)
             {
            pglGrouping.DrawPlanViewSchematic(cadContext, pglGrouping.myIndex);
             }
        }
コード例 #4
0
        public virtual void DrawCrossSection(IRM21cad2dDrawingContext cadContext, 
         ref StationOffsetElevation aSOE, int whichSide)
        {
            double LLH = LiederLineHeight;
             double ribbonWidth;
             double X1 = aSOE.offset;
             double Y1 = aSOE.elevation;
             this.moveToOuterEdge(ref aSOE, whichSide);
             if (X1 == aSOE.offset && Y1 == aSOE.elevation) return;

             cadContext.Draw(X1, Y1, aSOE.offset, aSOE.elevation);

             setupCrossSectionDrawing(cadContext);
             ribbonWidth = Math.Abs(aSOE.offset - X1);
             cadContext.setElementWeight(0.8);
             cadContext.setElementColor(Color.FromArgb(124, 255, 255, 255));
             cadContext.Draw(X1, LLH + 0.5, aSOE.offset, LLH + 0.5);
             cadContext.Draw(aSOE.offset, 0.5, aSOE.offset, LLH + 1.5);
             string widthStr = (Math.Round(ribbonWidth*10)/10).ToString();
             cadContext.Draw(widthStr, X1 + whichSide * ribbonWidth / 2, LLH + 0.5, 0.0);

             if (false == SuppressSlopeText)
             {
            Slope mySlope = new Slope((aSOE.elevation - Y1) / (aSOE.offset - X1));
            if (whichSide > 0)
               cadContext.Draw(mySlope.ToString(),
                  (X1 + aSOE.offset) / 2,
                  (Y1 + aSOE.elevation) / 2,
                  mySlope.getAsDegreesDouble());
            else
               cadContext.Draw(mySlope.FlipDirection().ToString(),
                  (X1 + aSOE.offset) / 2,
                  (Y1 + aSOE.elevation) / 2,
                  mySlope.getAsDegreesDouble());
             }
             SuppressSlopeText = false;
        }
コード例 #5
0
ファイル: Profile.cs プロジェクト: PaulSchrum/RM21SourceCore
 internal void draw(IRM21cad2dDrawingContext drawingContext)
 {
     if (BeginElevation != 0.0 && EndElevation != 0.0)
     {
        double x1, y1, x2, y2;
        x1 = BeginStation.trueStation; y1 = BeginElevation;
        x2 = EndStation.trueStation; y2 = EndElevation;
        if (drawingContext.getAheadOrientationAngle() == 90.0)
        {
       x1 = BeginElevation; y1 = BeginStation.trueStation;
       x2 = EndElevation; y2 = EndStation.trueStation;
        }
        drawingContext.Draw(x1, y1, x2, y2);
     }
 }