Пример #1
0
        private ISnappingResult method_0(IPoint ipoint_1)
        {
            IActiveView focusMap   = this._appContext.MapControl.Map as IActiveView;
            IPoint      pointClass = new ESRI.ArcGIS.Geometry.Point();

            pointClass.PutCoords(ipoint_1.X, ipoint_1.Y);
            IEngineSnapEnvironment engineSnapEnvironment = ApplicationRef.AppContext.Config.EngineSnapEnvironment;
            ISnappingResult        snappingResult        = null;

            if (engineSnapEnvironment is ISnapEnvironment)
            {
                ISnapEnvironment snapEnvironment = engineSnapEnvironment as ISnapEnvironment;
                if ((snapEnvironment == null || !ApplicationRef.AppContext.Config.UseSnap
                    ? false
                    : snapEnvironment.SnapPoint(pointClass, ipoint_1)))
                {
                    SnappingResult snappingResult1 = new SnappingResult()
                    {
                        X = ipoint_1.X,
                        Y = ipoint_1.Y
                    };
                    snappingResult = snappingResult1;
                }
            }
            else if ((engineSnapEnvironment == null || !ApplicationRef.AppContext.Config.UseSnap
                ? false
                : engineSnapEnvironment.SnapPoint(ipoint_1)))
            {
                SnappingResult snappingResult2 = new SnappingResult()
                {
                    X = ipoint_1.X,
                    Y = ipoint_1.Y
                };
                snappingResult = snappingResult2;
            }
            return(snappingResult);
        }
Пример #2
0
        private static ISnappingResult OldSnap(IPoint ipoint_0, IActiveView pActiveView,
                                               IEngineSnapEnvironment iengineSnapEnvironment_0)
        {
            IHitTest        mPPointColn;
            double          num;
            int             num1;
            int             num2;
            bool            flag;
            double          mapUnits;
            IPoint          pointClass;
            ISnappingResult snappingResult = null;

            if (iengineSnapEnvironment_0 is ISnapEnvironment)
            {
                ISnapEnvironment iengineSnapEnvironment0 = iengineSnapEnvironment_0 as ISnapEnvironment;
                if (
                    !(iengineSnapEnvironment0 == null || !ApplicationRef.AppContext.Config.UseSnap
                        ? true
                        : !iengineSnapEnvironment0.SnapPoint(SketchToolAssist.LastPoint, ipoint_0)))
                {
                    SnappingResult snappingResult1 = new SnappingResult()
                    {
                        X = ipoint_0.X,
                        Y = ipoint_0.Y
                    };
                    snappingResult = snappingResult1;
                }
                else if (ApplicationRef.AppContext.Config.IsSnapSketch)
                {
                    mPPointColn = SketchToolAssist.m_pPointColn as IHitTest;
                    if (mPPointColn != null)
                    {
                        num      = 0;
                        num1     = 0;
                        num2     = 0;
                        flag     = false;
                        mapUnits = CommonHelper.ConvertPixelsToMapUnits(pActiveView,
                                                                        iengineSnapEnvironment0.SnapTolerance);
                        if (mapUnits == 0)
                        {
                            mapUnits = 3;
                        }
                        pointClass = new ESRI.ArcGIS.Geometry.Point();
                        if (mPPointColn.HitTest(ipoint_0, mapUnits, esriGeometryHitPartType.esriGeometryPartVertex,
                                                pointClass, ref num, ref num1, ref num2, ref flag))
                        {
                            SnappingResult snappingResult2 = new SnappingResult()
                            {
                                X = pointClass.X,
                                Y = pointClass.Y
                            };
                            snappingResult = snappingResult2;
                        }
                    }
                }
            }
            else if (
                !(iengineSnapEnvironment_0 == null || !ApplicationRef.AppContext.Config.UseSnap
                    ? true
                    : !iengineSnapEnvironment_0.SnapPoint(ipoint_0)))
            {
                SnappingResult snappingResult3 = new SnappingResult()
                {
                    X = ipoint_0.X,
                    Y = ipoint_0.Y
                };
                snappingResult = snappingResult3;
            }
            else if (ApplicationRef.AppContext.Config.IsSnapSketch)
            {
                mPPointColn = SketchToolAssist.m_pPointColn as IHitTest;
                if (mPPointColn != null)
                {
                    num      = 0;
                    num1     = 0;
                    num2     = 0;
                    flag     = false;
                    mapUnits = iengineSnapEnvironment_0.SnapTolerance;
                    if (iengineSnapEnvironment_0.SnapToleranceUnits ==
                        esriEngineSnapToleranceUnits.esriEngineSnapTolerancePixels)
                    {
                        mapUnits = CommonHelper.ConvertPixelsToMapUnits(pActiveView,
                                                                        iengineSnapEnvironment_0.SnapTolerance);
                    }
                    if (mapUnits == 0)
                    {
                        mapUnits = 3;
                    }
                    pointClass = new ESRI.ArcGIS.Geometry.Point();
                    if (mPPointColn.HitTest(ipoint_0, mapUnits, esriGeometryHitPartType.esriGeometryPartVertex,
                                            pointClass, ref num, ref num1, ref num2, ref flag))
                    {
                        SnappingResult snappingResult4 = new SnappingResult()
                        {
                            X = pointClass.X,
                            Y = pointClass.Y
                        };
                        snappingResult = snappingResult4;
                    }
                }
            }
            return(snappingResult);
        }