Ejemplo n.º 1
0
        /// <summary>
        /// 将list<>list xyz 转化为 intpoint list<>list
        /// </summary>
        public static Paths Paths_xyzToPaths(Paths_xyz _Paths_xyz)
        {
            Paths _Paths = new Paths();

            foreach (Path_xyz _Path_xyz in _Paths_xyz)
            {
                Path _Path = Path_xyzToPath(_Path_xyz);
                _Paths.Add(_Path);
            }
            return(_Paths);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 将list<>list xyz 转化为 intpoint list<>list
        /// </summary>
        public static Paths_xyz PathsToPaths_xyz(Paths _Paths)
        {
            Paths_xyz _Paths_xyz = new Paths_xyz();

            foreach (Path _Path in _Paths)
            {
                Path_xyz _XYZs = PathToPath_xyz(_Path);
                _Paths_xyz.Add(_XYZs);
            }
            return(_Paths_xyz);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 对比前后区域划分 得到变化的区域 变化后的重新计算 变化前的进行删除 得到前一个paths_xyz未更新的区域
        /// </summary>
        public static Paths_xyz GetChangedRegion(Paths_xyz afterCanPlaceBoundaryPoints, Paths_xyz beforeCanPlaceBoundaryPoints)
        {
            Paths_xyz changedRegion = new Paths_xyz();

            foreach (Path_xyz afterPathXyz in afterCanPlaceBoundaryPoints)
            {
                if (!PathXyzIsInPathsXyz(afterPathXyz, beforeCanPlaceBoundaryPoints))
                {
                    changedRegion.Add(afterPathXyz);
                }
            }
            return(changedRegion);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 判断一个path_xyz在不在PahtsXyz
        /// </summary>
        public static bool PathXyzIsInPathsXyz(Path_xyz path_xyz, Paths_xyz paths_xyz)
        {
            bool isIn = false;

            foreach (Path_xyz _path_xyz in paths_xyz)
            {
                if (PathXyzIsSame(path_xyz, _path_xyz))
                {
                    isIn = true;
                    break;
                }
            }
            return(isIn);
        }