/// <summary> /// Move existing point by offset /// </summary> public void MovePoint(Pt point, double offset) { if (this.InternalRoof.SlabShapeEditor == null) { throw new Exception(Properties.Resources.InvalidShapeEditor); } SlabShapeVertex vertex = null; foreach (SlabShapeVertex v in this.InternalRoof.SlabShapeEditor.SlabShapeVertices) { if (point.IsAlmostEqualTo(v.Position.ToPoint())) { vertex = v; } } if (vertex != null && offset != 0) { TransactionManager.Instance.EnsureInTransaction(DocumentManager.Instance.CurrentDBDocument); this.InternalRoof.SlabShapeEditor.Enable(); this.InternalRoof.SlabShapeEditor.ModifySubElement(vertex, offset); TransactionManager.Instance.TransactionTaskDone(); } }