Esempio n. 1
0
        public void Update()
        {
            //remove polygon, //remove edge // remove vertex, //add polygon //add edge //add vertex
            var polygons = polygonManager.GetPolygons();

            if (treeView.Nodes.Count < polygons.Count)
            {
                var node = CreatePolygonNode(polygons.Last(), treeView.Nodes.Count);
                treeView.Nodes.Add(node);
            }
            else if (treeView.Nodes.Count > polygons.Count)
            {
                RemoveMissingNode();
            }

            //treeView.Nodes.Count == polygons.Count
            for (int i = 0; i < polygons.Count; i++)
            {
                UpdateNode(treeView.Nodes[i] as GeometricNode, polygons[i], i);
            }
        }
Esempio n. 2
0
        public Form1()
        {
            InitializeComponent();

            polygonManager = new PolygonManager(canvas, ChangeCursor, ChangeStatusStrip);

            var relationCreator = new RelationCreator(errorLabel, (selectedEdge1, selectedEdge2));

            relationCreator.InitEvents(remove1, remove2, addEqualButton, addPerpendicularButton);

            hierarchyController = new Hierarchy(hierarchy, polygonManager, relationCreator);
            hierarchyController.Update();

            polygonManager.OnStructureChanged += hierarchyController.HandleHierarchyChange;
            polygonManager.Update();

            addEqualButton.Click         += UpdateAll;
            addPerpendicularButton.Click += UpdateAll;

            polygonManager.GetPolygons().Add(Polygon.GetBigSample());
            UpdateAll(this, null);
        }