Exemple #1
0
        public static IPoint XYToPoint3(ISceneGraph isceneGraph_0, int int_0, int int_1, ILayer ilayer_0)
        {
            IPoint       result       = null;
            ISceneViewer activeViewer = isceneGraph_0.ActiveViewer;
            IHit3DSet    hit3DSet;

            isceneGraph_0.LocateMultiple(activeViewer, int_0, int_1, esriScenePickMode.esriScenePickGeography, true, out hit3DSet);
            if (hit3DSet != null)
            {
                hit3DSet.OnePerLayer();
                hit3DSet.Topmost(1.0);
                IArray hits = hit3DSet.Hits;
                for (int i = 0; i <= hits.Count - 1; i++)
                {
                    IHit3D hit3D = hits.get_Element(i) as IHit3D;
                    if (hit3D.Owner == ilayer_0)
                    {
                        result = hit3D.Point;
                    }
                }
            }
            return(result);
        }