protected override IEnumerable <CheckResult> CheckImpl(IEnumerable <ObjectId> selectedObjectIds) { var results = new List <SelfIntersectionInPolygonCheckResult>(); var editor = Document.Editor; var handler = new SelfIntersectionInPolygonHandler(editor); handler.Check(selectedObjectIds); if (handler.TopologyErrors == null) { return(results); } foreach (KeyValuePair <ObjectId, SingleTopologyError> keyValue in handler.TopologyErrors) { if (keyValue.Value.ErrorType == SingleTopologyErrors.SelfIntersection) { var errorInfo = SingleTopologyValidator.LineStringSelfIntersectionsOp(keyValue.Key); var checkResult = new SelfIntersectionInPolygonCheckResult(keyValue.Key, errorInfo); results.Add(checkResult); } else { Document.Editor.WriteMessage("\n" + keyValue.Value.Message); } } return(results); }
public Dictionary <ObjectId, SingleTopologyError> GetSelfIntersectionObjectIds(Database database, IEnumerable <ObjectId> selectedObjectIds, double tolerance) { var singleTopologyResults = SingleTopologyValidator.CheckValid(selectedObjectIds.ToList()); return(singleTopologyResults); }
public Dictionary <ObjectId, IList <Point3d> > GetFindDanglingPoints(Database database, IEnumerable <ObjectId> selectedObjectIds, double tolerance) { var singleTopologyResults = SingleTopologyValidator.FindDanglingLine(selectedObjectIds.ToList()); return(singleTopologyResults); }