Пример #1
0
        //构造偏移点法
        private void button7_Click(object sender, EventArgs e)
        {
            delFeature("point");
            IPoint[] points = new IPoint[4];
            for (int i = 0; i < 4; i++)
            {
                points[i] = new PointClass();
            }
            points[0].PutCoords(0, 0);
            points[1].PutCoords(10, 0);
            points[2].PutCoords(20, 0);
            points[3].PutCoords(30, 0);
            IPointCollection polyline      = new Polyline();
            IGeometryBridge  geometryBride = new GeometryEnvironmentClass();

            geometryBride.AddPoints(polyline as IPointCollection4, ref points);
            IConstructPoint constructionPointRight = new PointClass();
            IConstructPoint constructionPointLeft  = new PointClass();

            constructionPointRight.ConstructOffset(polyline as ICurve, esriSegmentExtension.esriNoExtension, 15, false, 5);
            IPoint outPutPoint1 = constructionPointRight as IPoint;

            constructionPointLeft.ConstructOffset(polyline as ICurve, esriSegmentExtension.esriNoExtension, 1, false, -5);
            IPoint outPutPoint2 = constructionPointLeft as IPoint;

            addFeature("point", points[0]);
            addFeature("point", points[1]);
            addFeature("point", points[2]);
            addFeature("point", points[3]);
            addFeature("point", outPutPoint1);
            addFeature("point", outPutPoint2);
            axMapControl1.Refresh();
        }