예제 #1
0
        public List <DXFGeometry> ConvertToDrawable()
        {
            List <DXFGeometry> geometry = new List <DXFGeometry>();

            if (this.FEntities == null)
            {
                return(geometry);
            }

            int n = this.FEntities.ecEntities.Count;

            for (int i = 0; i < n; i++)
            {
                DXFEntity e = this.FEntities.ecEntities[i];
                Type      t = e.GetType();

                DXFGeometry        eG  = new DXFGeometry();
                List <DXFGeometry> eGs = new List <DXFGeometry>();
                // type deistinction
                if (t == typeof(DXFInsert))
                {
                    DXFInsert ei = e as DXFInsert;
                    eGs = ei.ConvertToDrawables();
                    if (eGs.Count > 0)
                    {
                        geometry.AddRange(eGs);
                    }
                }
                else
                {
                    eG = e.ConvertToDrawable();
                    if (!eG.IsEmpty())
                    {
                        geometry.Add(eG);
                    }
                }
            }
            return(geometry);
        }