Exemple #1
0
        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);
        }
Exemple #2
0
        public Dictionary <ObjectId, SingleTopologyError> GetSelfIntersectionObjectIds(Database database,
                                                                                       IEnumerable <ObjectId> selectedObjectIds, double tolerance)
        {
            var singleTopologyResults = SingleTopologyValidator.CheckValid(selectedObjectIds.ToList());

            return(singleTopologyResults);
        }
Exemple #3
0
        public Dictionary <ObjectId, IList <Point3d> > GetFindDanglingPoints(Database database, IEnumerable <ObjectId> selectedObjectIds, double tolerance)
        {
            var singleTopologyResults = SingleTopologyValidator.FindDanglingLine(selectedObjectIds.ToList());

            return(singleTopologyResults);
        }