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); }
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); }
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 + "- 产状面"); }