protected override Status FixImpl(CheckResult checkResult, out List <ObjectId> resultIds) { resultIds = new List <ObjectId>(); var result = checkResult as MissingVertexInPolygonCheckResult; if (result == null) { return(Status.Rejected); } // Fix 就是 在缺点的地方添加顶点 using (var tr = Document.Database.TransactionManager.StartTransaction()) { var entity = tr.GetObject(result.ObjectId, OpenMode.ForWrite) as Curve; if (entity != null) { foreach (var position in result.MissingPositions) { AddVertex.AddVertexFromPolyline(tr, entity, position); } } tr.Commit(); } return(Status.Fixed); }
private void addVertex() { process.Start(); AddVertex addVertex = new AddVertex(); addVertex.Show(); }
public bool FixAll() { var database = Editor.Document.Database; using (var transaction = database.TransactionManager.StartTransaction()) { foreach (var missingVertexInfo in MissingVertexInfos) { var curve = transaction.GetObject(missingVertexInfo.PolylineId, OpenMode.ForWrite) as Curve; foreach (var position in missingVertexInfo.Positions) { AddVertex.AddVertexFromPolyline(transaction, curve, position); } } transaction.Commit(); } return(true); }
private void ChangeButtonColors() { //powrót wszystkich przycisków do default AddVertex.ClearValue(BackgroundProperty); AddEdge.ClearValue(BackgroundProperty); DeleteElements.ClearValue(BackgroundProperty); MoveElements.ClearValue(BackgroundProperty); //zmiana koloru odpowiedniego przycisku oraz typu kursora nad poszczególnymi obiektami if (vertexFlag) { AddVertex.Background = Brushes.LightGreen; DrawSpace.Cursor = Cursors.Pen; foreach (var item in graph.Edges) { item.Cursor = Cursors.Arrow; } foreach (var item in graph.Vertices) { item.Cursor = Cursors.Arrow; } } if (edgeFlag) { AddEdge.Background = Brushes.LightGreen; DrawSpace.Cursor = Cursors.Arrow; foreach (var item in graph.Edges) { item.Cursor = Cursors.Arrow; } foreach (var item in graph.Vertices) { item.Cursor = Cursors.Hand; } } if (deleteFlag) { DeleteElements.Background = Brushes.LightGreen; DrawSpace.Cursor = Cursors.Arrow; foreach (var item in graph.Edges) { item.Cursor = Cursors.No; } foreach (var item in graph.Vertices) { item.Cursor = Cursors.No; } } if (moveFlag) { MoveElements.Background = Brushes.LightGreen; DrawSpace.Cursor = Cursors.Arrow; foreach (var item in graph.Edges) { item.Cursor = Cursors.Arrow; } foreach (var item in graph.Vertices) { item.Cursor = Cursors.SizeAll; } } }