| | |
| | | |
| | | namespace WIDESEAWCS_BasicInfoService |
| | | { |
| | | /// <summary> |
| | | /// å¼å¸¸æ¾ç½®åºåæå¡ï¼ç¨äºè®¡ç®åå¤çå¼å¸¸æ
åµä¸çè´§ç©æ¾ç½®ä½ç½® |
| | | /// </summary> |
| | | /// <remarks> |
| | | /// è¯¥ç±»æ ¹æ®å®¹å¨å°ºå¯¸åè´§ç©å°ºå¯¸è®¡ç®åæ¾ä½ç½®åæ ï¼ |
| | | /// å
嫿¨ªåYåæ çæå°/æå¤§éå¶å¤çé»è¾ï¼ |
| | | /// å¹¶è¿åå
å«å®æ´ä½ç½®ä¿¡æ¯çTaskPosition对象 |
| | | /// </remarks> |
| | | public class ExceptionPlaceBlockService |
| | | { |
| | | public ContainerSize ContainerSize { get; private set; } |
| | |
| | | /// </summary> |
| | | public const int MaxY = 600; |
| | | |
| | | /// <summary> |
| | | /// æé 彿°ï¼åå§åå¼å¸¸ä½ç½®åºåæå¡ |
| | | /// </summary> |
| | | /// <param name="containerSize">容å¨å°ºå¯¸åæ°</param> |
| | | public ExceptionPlaceBlockService(ContainerSize containerSize) |
| | | { |
| | | ContainerSize = containerSize; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 计ç®å¼å¸¸æ¾ç½®åçä»»å¡ä½ç½® |
| | | /// </summary> |
| | | /// <param name="length">ç©åé¿åº¦</param> |
| | | /// <param name="width">ç©å宽度</param> |
| | | /// <param name="height">ç©åé«åº¦</param> |
| | | /// <param name="count">ç©åæ°é</param> |
| | | /// <returns>å
å«åæ¾ä½ç½®ä¿¡æ¯çTaskPosition对象</returns> |
| | | /// <remarks> |
| | | /// è¯¥æ¹æ³ä¼æ ¹æ®ç©å尺寸èªå¨è°æ´åæ¾ä½ç½®ï¼ |
| | | /// 1. å½é¿åº¦å°äºå®½åº¦æ¶ä¼äº¤æ¢ä¸¤è
|
| | | /// 2. æ ¹æ®ç©åå°ºå¯¸éæ©ä¸åç设å¤ä¸å¿ç¹ |
| | | /// 3. ç¡®ä¿Yè½´ä½ç½®å¨MinYåMaxYä¹é´ |
| | | /// </remarks> |
| | | public TaskPosition ExceptionPlaceBlock(int length, int width, int height, int count) |
| | | { |
| | | int tempLength = length; |
| | |
| | | deviceCenter = new Point3D(530 / 2, 130 / 2, 0); |
| | | } |
| | | |
| | | takePositionX = width / 2 - deviceCenter.X - MinY / 2; |
| | | takePositionX = width / 2 - deviceCenter.X; |
| | | takePositionY = length / 2 - deviceCenter.Y; |
| | | takePositionZ = 10; |
| | | |
| | |
| | | takePositionY = 0; |
| | | putPositionY = MinY; |
| | | } |
| | | else if (putPositionY > MaxY) |
| | | else |
| | | { |
| | | takePositionY -= MinY; |
| | | } |
| | | |
| | | if (putPositionY > MaxY) |
| | | { |
| | | int moreY = putPositionY - MaxY; |
| | | if (takePositionY - moreY > 0) |