From b6837f097e9cdb2645368aed4ddb03f580c331e4 Mon Sep 17 00:00:00 2001 From: z8018 <1282578289@qq.com> Date: 星期一, 05 五月 2025 17:29:07 +0800 Subject: [PATCH] 1 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/AreaInfo.cs | 95 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 91 insertions(+), 4 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/AreaInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/AreaInfo.cs" index 2f52e30..ed5f2ef 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/AreaInfo.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/AreaInfo.cs" @@ -6,10 +6,97 @@ namespace WIDESEAWCS_Common { - public enum AreaInfo + /// <summary> + /// 琛ㄧず鍗曚釜鏈ㄥ潡鐨勫疄浣撶被 + /// </summary> + public class Block { - CLOutAreaA, - CLOutAreaB, - CLOutAreaC + public int L { get; set; } // 闀垮害锛堟部X杞达級 + public int W { get; set; } // 瀹藉害锛堟部Y杞达級 + public int H { get; set; } // 楂樺害锛堟部Z杞达級 + public int X { get; set; } // X鍧愭爣锛堝乏涓嬭锛� + public int Y { get; set; } // Y鍧愭爣锛堝乏涓嬭锛� + public int Z { get; set; } // Z鍧愭爣锛堝簳閮ㄩ珮搴︼級 + } + + /// <summary> + /// 鍚哥洏鎿嶄綔淇℃伅锛堜娇鐢ㄤ腑蹇冪偣鍧愭爣锛� + /// </summary> + public class SuctionInfo + { + public int[] PickCenter { get; set; } // 鎶撳彇涓績鐐筟x,y,z] + public int[] PlaceCenter { get; set; } // 鏀剧疆涓績鐐筟x,y,z] + public int Rotation { get; set; } // 瀹為檯鏃嬭浆瑙掑害 + + public Point Point { get; set; } + } + + /// <summary> + /// 鏀剧疆缁撴灉杈撳嚭鍙傛暟 + /// </summary> + public class PlacementResult + { + public List<int> VertexCoordinates { get; set; } // 8涓《鐐瑰潗鏍囷紙椤哄簭锛氬簳闈㈠洓瑙�+椤堕潰鍥涜锛� + public int[] Center { get; set; } // 涓績鐐瑰潗鏍�(x,y,z) + public SuctionInfo SuctionInfo { get; set; } // 鍚哥洏鎿嶄綔鍙傛暟 + } + + // 杈呭姪绫诲畾涔夊尯------------------------------------------ + + /// <summary> + /// 浜岀淮鍧愭爣鐐癸紙鐢ㄤ簬浣嶇疆鏌ユ壘锛� + /// </summary> + public struct Point + { + public int X { get; } + public int Y { get; } + + public Point(int x, int y) + { + X = x; + Y = y; + } + } + + /// <summary> + /// 鏀拺闈㈡弿杩帮紙鐢ㄤ簬鍒嗗眰鏀剧疆锛� + /// </summary> + public class SupportSurface + { + public int X { get; set; } // 鏀拺闈㈣捣濮媂鍧愭爣 + public int Y { get; set; } // 鏀拺闈㈣捣濮媃鍧愭爣 + public int Z { get; set; } // 鏀拺闈㈤珮搴� + public int AvailableLength { get; set; } // 鍙敤闀垮害锛圶杞存柟鍚戯級 + public int AvailableWidth { get; set; } // 鍙敤瀹藉害锛圷杞存柟鍚戯級 + } + + /// <summary> + /// 鐭╁舰鍖哄煙锛堢敤浜庣鎾炴娴嬶級 + /// </summary> + public class Rectangle + { + public int Left { get; } + public int Top { get; } + public int Right { get; } + public int Bottom { get; } + + public Rectangle(int left, int top, int right, int bottom) + { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + /// <summary> + /// 鐭╁舰鐩镐氦妫�娴嬶紙鑰冭檻闂磋窛绾︽潫锛� + /// </summary> + public bool IntersectsWith(Rectangle other) + { + return !(Right < other.Left || + Left > other.Right || + Bottom < other.Top || + Top > other.Bottom); + } } } -- Gitblit v1.9.3