PageRenderTime 49ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/NerdSharp.Net_Studio/NerdSharp_UberNet/Science/Math/TypeLibrary/Graphs_ChartsWidgets/TwoDGraph.xaml.cs

https://bitbucket.org/pastageek/scide-cad-scilife
C# | 64 lines | 55 code | 4 blank | 5 comment | 0 complexity | bbe0ec9cc5f487a91423fbbc9a54141c MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows;
  6. using System.Windows.Controls;
  7. using System.Windows.Data;
  8. using System.Windows.Documents;
  9. using System.Windows.Input;
  10. using System.Windows.Media;
  11. using System.Windows.Media.Imaging;
  12. using System.Windows.Navigation;
  13. using System.Windows.Shapes;
  14. namespace NerdSharp.Net_Studio.NerdSharp_UberNet.Science.Math.TypeLibrary.Graphs_ChartsWidgets
  15. {
  16. /// <summary>
  17. /// Interaction logic for TwoDGraph.xaml
  18. /// </summary>
  19. public partial class TwoDGraph : UserControl
  20. {
  21. public TwoDGraph()
  22. {
  23. InitializeComponent();
  24. }
  25. public void AddLine(Point start, Point end)
  26. {
  27. Line einLine = new Line();
  28. Point aStart = Utils.FromGraphToScreen(mainGrid.ActualWidth, mainGrid.ActualHeight, start);
  29. Point anEnd = Utils.FromGraphToScreen(mainGrid.ActualWidth, mainGrid.ActualHeight, end);
  30. einLine.Stroke = new SolidColorBrush(Colors.Black);
  31. einLine.StrokeThickness = 1;
  32. einLine.X1 = aStart.X;
  33. einLine.Y1 = aStart.Y;
  34. einLine.X2 = anEnd.X;
  35. einLine.Y2 = anEnd.Y;
  36. mainGrid.Children.Add(einLine);
  37. }
  38. private void RenderAxisLines()
  39. {
  40. Line xAxis = new Line();
  41. Line yAxis = new Line();
  42. xAxis.Stroke = yAxis.Stroke = new SolidColorBrush(Colors.Black);
  43. xAxis.StrokeThickness = yAxis.StrokeThickness = 2;
  44. xAxis.X1 = 0;
  45. xAxis.X2 = mainGrid.ActualWidth;
  46. xAxis.Y1 = xAxis.Y2 = this.mainGrid.ActualHeight / 2;
  47. yAxis.Y1 = 0;
  48. yAxis.Y2 = mainGrid.ActualHeight;
  49. yAxis.X1 = yAxis.X2 = this.mainGrid.ActualWidth / 2;
  50. mainGrid.Children.Add(xAxis);
  51. mainGrid.Children.Add(yAxis);
  52. }
  53. private void mainGrid_Loaded(object sender, RoutedEventArgs e)
  54. {
  55. RenderAxisLines();
  56. //debugging stuff
  57. //this.AddLine(new Point(-20, 10), new Point(20, -10));
  58. }
  59. }
  60. }