示例#1
0
        //--------------statistic
        //TODO:这部分逻辑需要重构
        public List <MeasureListItem> GetMeasureListData(MeasureScale scale)
        {
            List <MeasureListItem> list = new List <MeasureListItem>();

            for (int i = 0; i < this.GraphicsList.Count; i++)
            {
                DrawObject drawObj = this.GraphicsList[i];
                //TODO: 计算测量的逻辑应该从绘图对象中分离出来
                MeasureListItem item = drawObj.GetMeasureListItem();
                if (item != null)
                {
                    //如果已经定过标,将值进行转换
                    if (scale != null && scale.UnitType != Constants.UnitTypeDef.Pixel)
                    {
                        double ratio = scale.UnitValue / scale.Pixels;
                        item.AdjustByScale(ratio);
                        item.Unit = scale.UnitTypeDisplayName;
                    }
                    else
                    {
                        item.Unit = "像素";
                    }
                    list.Add(item);
                }
            }
            return(list);
        }