/// <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); }
/// <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); }
/// <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); }
/// <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); }