Esempio n. 1
0
        /// <summary>
        /// 获得画布上下文中所有可见的图层;
        /// </summary>
        /// <param name="cadContext"></param>
        /// <returns></returns>
        public static IEnumerable <CanvasLayer> GetVisibleLayers(this ICADContext cadContext)
        {
            if (cadContext == null)
            {
                throw new ArgumentNullException(nameof(cadContext));
            }

            return(cadContext.Layers?.Where(p => p.IsVisible) ?? Enumerable.Empty <CanvasLayer>());
        }
Esempio n. 2
0
        /// <summary>
        /// 获取画布上下文中所有绘制对象;
        /// </summary>
        /// <param name="cadContext"></param>
        /// <returns></returns>
        public static IEnumerable <DrawObject> GetAllDrawObjects(this ICADContext cadContext)
        {
            if (cadContext == null)
            {
                throw new ArgumentNullException(nameof(cadContext));
            }

            return(cadContext.Layers?.SelectMany(p => p.DrawObjects) ?? Enumerable.Empty <DrawObject>());
        }
Esempio n. 3
0
 /// <summary>
 /// 获取指定类型的画布上下文中可见的绘制对象;
 /// </summary>
 /// <param name="cadContext"></param>
 /// <returns></returns>
 public static IEnumerable <TDrawObject> GetAllVisibleDrawObjects <TDrawObject>(this ICADContext cadContext) where TDrawObject : DrawObject
 {
     return(GetAllDrawObjects(cadContext).Select(p => p as TDrawObject).Where(p => p != null));
 }