public Render_MasterControl(Canvas _maincanvas, PytorchModel _model) { this.MainCanvas = _maincanvas; this.Model = _model; _maincanvas.Children.Clear(); LayerRender(Model); }
public void LayerRender(PytorchModel _model) { //Render ten Network Label NetworkName = new Label(); NetworkName.Content = Model.ModelName; NetworkName.Foreground = new SolidColorBrush(Colors.Black); NetworkName.FontSize = 28; Canvas.SetTop(NetworkName, 0); Canvas.SetLeft(NetworkName, MainCanvas.ActualWidth / 2 - 40); MainCanvas.Children.Add(NetworkName); Line separateLine = new Line(); separateLine.Stroke = System.Windows.Media.Brushes.LightSteelBlue; separateLine.X1 = MainCanvas.ActualWidth / 2 - 300; separateLine.X2 = MainCanvas.ActualWidth / 2 + 300; separateLine.Y1 = 40; separateLine.Y2 = 40; separateLine.StrokeThickness = 3; MainCanvas.Children.Add(separateLine); // Thu nghiem // double Y = 50; double X = MainCanvas.ActualWidth / 2; GetParent(ref _model.Layers); GetChild(ref _model.Layers); int CurrentLevel = 0; foreach (Layer _layer in Model.Layers) { if (_layer.Level == -1) { _layer.Level = CurrentLevel++; } if (_layer.ChildLayer.Count != 0) { foreach (Layer _child in _layer.ChildLayer) { if (_child.Level == -1 && _child.ParentLayer[0] == _layer) { _child.Level = CurrentLevel; } } CurrentLevel++; } } SetPosition(CurrentLevel, ref Model.Layers, MainCanvas); //MainCanvas.Children.Add(Arrow.DrawLinkArrow(new Point(X, Y), new Point(X, Y + 100))); }