コード例 #1
0
ファイル: Hierarchy.cs プロジェクト: Sliwson/gk2019
        private void RemoveRelationClick(object sender, EventArgs e)
        {
            if (!(structureSelected is Edge))
            {
                return;
            }

            var edge = structureSelected as Edge;

            if (edge.UnderlyingPolygon == null)
            {
                return;
            }

            edge.UnderlyingPolygon.RemoveRelation(edge);
            Update();
            polygonManager.Update();
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: Sliwson/gk2019
        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);
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: Sliwson/gk2019
 private void UpdateAll(object sender, EventArgs a)
 {
     hierarchyController.Update();
     polygonManager.Update();
 }