예제 #1
0
        /// <summary>
        /// Creates a new <c>FileCheckQuery</c> and executes it.
        /// </summary>
        /// <param name="model">The model to check</param>
        /// <param name="checks">Flag bits indicating the checks of interest</param>
        /// <param name="onCheckItem">Delegate to call whenever a further item is checked (null if no
        /// callback is required)</param>
        internal FileCheckQuery(CadastralMapModel model, CheckType checks, OnCheckItem onCheckItem)
        {
            if (model==null)
                throw new ArgumentNullException();

            m_OnCheckItem = onCheckItem;
            m_Options = checks;
            m_NumCheck = 0;
            m_Result = new List<CheckItem>(100);

            ISpatialIndex index = model.Index;
            index.QueryWindow(null, SpatialType.Line, CheckLine);
            index.QueryWindow(null, SpatialType.Text, CheckText);
            index.QueryWindow(null, SpatialType.Polygon, CheckPolygon);

            // Do any post-processing.
            PostCheck(m_Result, true);

            m_Result.TrimExcess();
        }
예제 #2
0
        /// <summary>
        /// Creates a new <c>FileCheckQuery</c> and executes it.
        /// </summary>
        /// <param name="model">The model to check</param>
        /// <param name="checks">Flag bits indicating the checks of interest</param>
        /// <param name="onCheckItem">Delegate to call whenever a further item is checked (null if no
        /// callback is required)</param>
        internal FileCheckQuery(CadastralMapModel model, CheckType checks, OnCheckItem onCheckItem)
        {
            if (model == null)
            {
                throw new ArgumentNullException();
            }

            m_OnCheckItem = onCheckItem;
            m_Options     = checks;
            m_NumCheck    = 0;
            m_Result      = new List <CheckItem>(100);

            ISpatialIndex index = model.Index;

            index.QueryWindow(null, SpatialType.Line, CheckLine);
            index.QueryWindow(null, SpatialType.Text, CheckText);
            index.QueryWindow(null, SpatialType.Polygon, CheckPolygon);

            // Do any post-processing.
            PostCheck(m_Result, true);

            m_Result.TrimExcess();
        }