Exemplo n.º 1
0
        public override void Draw(ref SGWorld66 sgworld)
        {
            base.Draw(ref sgworld);

            //画小圆点表示(待改正)
            double      radius         = 8.0;
            var         Style          = SphereStyle.SPHERE_NORMAL;
            var         nLineColor     = 0xFFFF0000;
            var         nFillColor     = 0xFFFF6464;
            var         SegmentDensity = -1;
            string      gid            = GeoHelper.CreateGroup("地质点", ref sgworld);
            IPosition66 cPos           = sgworld.Creator.CreatePosition(X, Y, Z, AltitudeTypeCode.ATC_ON_TERRAIN);
            var         item           = sgworld.Creator.CreateSphere(cPos, radius, Style, nLineColor, nFillColor, SegmentDensity, gid, Name);

            //获取Skyline中的ID
            SetSkylineObj(item);
        }
Exemplo n.º 2
0
        public override void Draw(ref SGWorld66 sgworld)
        {
            base.Draw(ref sgworld);
            var verticesArray = new List <double>();

            foreach (var point in Points)
            {
                verticesArray.Add(point.X);
                verticesArray.Add(point.Y);
                verticesArray.Add(point.Z);
            }
            var cLineString = sgworld.Creator.GeometryCreator.CreateLineStringGeometry(verticesArray.ToArray());

            var    lineColor    = sgworld.Creator.CreateColor(255, 255, 255, 255); //黑色
            var    altitudeType = AltitudeTypeCode.ATC_TERRAIN_RELATIVE;           //待定
            string gid          = GeoHelper.CreateGroup("地质线", ref sgworld);
            var    item         = sgworld.Creator.CreatePolyline(cLineString, lineColor, altitudeType, gid, Name);

            SetSkylineObj(item);
        }
Exemplo n.º 3
0
        public void DrawOnSkyline(ref SGWorld66 sgworld, double height, double width, object lineColor, object fillColor)
        {
            var gid = GeoHelper.CreateGroup("产状平面", ref sgworld);



            double[] vertices =
            {
                RootPoint.X + width, RootPoint.Y + height, CalcZ(RootPoint.X + width, RootPoint.Y + height),
                RootPoint.X + width, RootPoint.Y - height, CalcZ(RootPoint.X + width, RootPoint.Y - height),
                RootPoint.X - width, RootPoint.Y - height, CalcZ(RootPoint.X - width, RootPoint.Y - height),
                RootPoint.X - width, RootPoint.Y + height, CalcZ(RootPoint.X - width, RootPoint.Y + height),
            };
            this.skyPlane = sgworld.Creator.CreatePolygonFromArray(
                vertices,
                lineColor,
                fillColor,
                AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE,
                gid,
                this.Name + "- 产状面");
        }