public static List <Entity> ToEntity(Geometry obj, Geometry denseObj, double defaultElevation, ObjectId blockDefId)
        {
            List <Entity> list = null;
            List <Entity> result;

            try
            {
                if (obj == null)
                {
                    result = null;
                }
                else
                {
                    PolygonN    polygonN    = obj as PolygonN;
                    PolylineN   polylineN   = obj as PolylineN;
                    PointN      pointN      = obj as PointN;
                    MultipointN multipointN = obj as MultipointN;
                    if (polygonN != null)
                    {
                        list = GIS2CAD.ToEntity(polygonN, denseObj as PolygonN, defaultElevation);
                    }
                    else if (polylineN != null)
                    {
                        list = GIS2CAD.ToEntity(polylineN, denseObj as PolylineN, defaultElevation);
                    }
                    else if (pointN != null)
                    {
                        list = GIS2CAD.ToEntity(pointN, defaultElevation, blockDefId);
                    }
                    else if (multipointN != null)
                    {
                        list = GIS2CAD.ToEntity(multipointN, defaultElevation);
                    }
                    else
                    {
                        DocUtil.ShowDebugMessage(AfaStrings.EncounteredUnknownObjectType);
                    }
                    if (list == null)
                    {
                        result = list;
                    }
                    else
                    {
                        result = list;
                    }
                }
            }
            catch
            {
                result = null;
            }
            return(result);
        }
 public AGSPolyline(PolylineN srcPLine)
 {
     if (srcPLine.PathArray != null)
     {
         this.Paths = new List <AGSPath>();
         Path[] pathArray = srcPLine.PathArray;
         for (int i = 0; i < pathArray.Length; i++)
         {
             Path srcP = pathArray[i];
             this.Paths.Add(new AGSPath(srcP));
         }
     }
 }
Example #3
0
        private static gView.Framework.Geometry.IPolyline ToPolyline(PolylineN polyline)
        {
            gView.Framework.Geometry.Polyline p = new gView.Framework.Geometry.Polyline();
            bool complex = false;

            if (polyline != null && polyline.PathArray != null)
            {
                foreach (Path path in polyline.PathArray)
                {
                    p.AddPath(ToPath(path, ref complex));
                }
            }
            //p.IsComplex = complex;
            return(p);
        }
Example #4
0
        private static PolylineN ToPolyline(gView.Framework.Geometry.IPolyline polyline)
        {
            PolylineN pline = new PolylineN();

            if (polyline != null)
            {
                List <Path> paths = new List <Path>();
                for (int i = 0; i < polyline.PathCount; i++)
                {
                    Path path = new Path();
                    path.PointArray = ToPointArray(polyline[i]);
                    paths.Add(path);
                }
                pline.PathArray = paths.ToArray();
            }
            return(pline);
        }
        private static List <Entity> ToEntity(PolylineN gisGeom, PolylineN densifiedGeometry, double defaultElevation)
        {
            List <Entity> list = new List <Entity>();
            int           num  = 0;

            Path[] pathArray = gisGeom.PathArray;
            for (int i = 0; i < pathArray.Length; i++)
            {
                Path    path       = pathArray[i];
                Point[] pointArray = densifiedGeometry.PathArray[num].PointArray;
                num++;
                Entity entity = GIS2CAD.DrawPart(path.SegmentArray, path.PointArray, pointArray, false, gisGeom.HasZ, defaultElevation);
                if (entity != null)
                {
                    list.Add(entity);
                }
            }
            if (list.Count > 0)
            {
                return(list);
            }
            return(null);
        }