public MainWindow() { Stopwatch = new Stopwatch(); Stopwatch.Start(); TickCounts = new List <long>(); Lights = new List <HexLine>(); MainController = new MainController(); var initialisedServices = MainController.InitialiseServices(this); //DisplayService = initialisedServices.OfType<DisplayProgrammaticService>().FirstOrDefault(); //DisplayController = new DisplayController(); InitializeComponent(); loadPreviousSettings(); Tableau = new Canvas(); Grid = new BaseGrid(Height, Width, Tableau); Tableau.Width = Width; Tableau.Height = Height; Tableau.Background = Brushes.LightGray; Content = Tableau; var greenLattice = new TriangularLattice(Grid, Orientation.Horizontal, LatticeTypeEnum.Green, true); if (Hex.ShowGridLines) { createGridBuilder(greenLattice); } var testPoint = new Ellipse(); testPoint.Height = 20; testPoint.Width = 20; testPoint.Fill = Brushes.Chartreuse; //Grid.AddShape(testPoint, greenLattice.Sites[20].Location); Label = new TextBlock() { Text = "000.00", FontSize = 15 }; Canvas.SetLeft(Label, 500); Tableau.Children.Add(Label); //var label = new TextBlock() { Text = Period.ToString() }; //label. //Canvas.SetLeft(label,400); //Tableau.Children.Add(label); Lights.AddRange(greenLattice.GridLines.Values); //var redLattice = new TriangularLattice(Grid, Orientation.Horizontal, LatticeTypeEnum.Red); // var blueLattice = new TriangularLattice(Grid, Orientation.Horizontal, LatticeTypeEnum.Blue); // var blueLattice = new TriangularLattice(Grid, 20, Orientation.Vertical, LatticeTypeEnum.Blue); //var redLattice = new TriangularLattice(Grid,10, Orientation.Vertical, LatticeTypeEnum.Red); //var cellSize = 50; //var gridOrigin = new Coord(cellSize * 2, cellSize * 2); //var hGrid = new HexGrid(15, 15, cellSize, gridOrigin); //DrawGrid(hGrid,addVertexIds:true); //Console.WriteLine(hGrid.AllVertices.Count); //Console.WriteLine(hGrid.AllChannels.Count); Closing += mainWindowClosing; }
private void createGridBuilder(TriangularLattice lattice) { var gridBuilder = Task.Run(() => { foreach (var site in lattice.Sites) { App.Current.Dispatcher.Invoke(() => lattice.AddGridLines(site.Value)); Thread.Sleep(100); } }); }
public void TriangularLattice_Test1() { var lattice = new TriangularLattice(null, Orientation.Horizontal, LatticeTypeEnum.Red); }