using Aurora.Api.Manager; using CoreUnit.Control.UserControl.Canvas; using CoreUnit.Scanner.UserControl.ScannerCanvas; using DB; using DB.Recipe; using GUI; using System.Collections.Generic; using System.Configuration; using System.IO; using VisionCommon; namespace WeldingCommon.Utils { public static class WeldingManager { #region LASA MAinPage Handler && Contorl Recipe private class WeldingMainPage { private static MainPage _Instance; public static MainPage Instance { get { if (_Instance == null) { _Instance = new GUI.MainPage() { IsMdiContainer = false, TopLevel = false, }; } return _Instance; } } } public static MainPage GetWeldingPage() { var rtn = WeldingMainPage.Instance; return rtn; } public static void UpdateAutoRunWeldingPage() { WeldingMainPage.Instance.UpdateAutoRunPage(); } public static void ReloadWeldingRecipe(string recipeName) { WeldingMainPage.Instance.ReloadRecipe(GetTeachingEditorFullPath(recipeName)); } private static string GetTeachingEditorFullPath(string recipeName) { var recipePath = ConfigurationManager.AppSettings.Get("DATA_PATH"); var fullPath = Path.Combine( recipePath, RecipeExIds.RECIPE_DIR, recipeName, RecipeExIds.TEACHING_EDITOR_RECIPE); var dir = Path.GetDirectoryName(fullPath); if (!Directory.Exists(dir)) { Directory.CreateDirectory(Path.GetDirectoryName(fullPath)); } return fullPath; } public static void UpdateRecipeView() { WeldingMainPage.Instance.ScannerCanvasCtrlTeaching.Update(); WeldingMainPage.Instance.UpdateObjetsInTreeView(); } #endregion #region Welding Object && Welding Parameter Handler public static int GetWeldingLayerLength() { var rtn = WeldingMainPage.Instance.ScannerCanvasCtrlTeaching.Model.Layers.Length; return rtn; } public static List GetWeldingLayerObjects(int layerIdx = 0) { var rtn = WeldingMainPage.Instance.ScannerCanvasCtrlTeaching.Model.Layers[layerIdx].Objects; return rtn; } public static ScannerParam GetScannerParam(int index) { var rtn = ScannerCanvasUserCtrl.ScannerParams[index]; return rtn; } public static ScannerParam GetScannerParam (IDrawObject obj) { var rtn = ScannerCanvasUserCtrl.ScannerParams[obj.ScannerParamID-1]; return rtn; } #endregion #region FieldScanParameter Handler public static ChildBufRowCol GetFieldScanParam(int scoutNo) { var camConfig = VisionEnv.AuroraEnv.DeviceManager.GetDeviceConfig(eCamId.CAM1.ToString()) as CamConfig; var rtn = camConfig.ChildImage.ChildBufRowCols[scoutNo]; return rtn; } public static bool CheckFieldScanEnable(int scoutNo) { var rtn = GetFieldScanParam(scoutNo).Enabled; return rtn; } public static double GetCorrectionScannerXPos(int scoutNo) { var scannerPos = GetFieldScanParam(scoutNo).MotorPos.X; var offsetPos = GetFieldScanParam(scoutNo).MotorPosOffset.X; return scannerPos + offsetPos; } public static double GetCorrectionScannerYPos(int scoutNo) { var scannerPos = GetFieldScanParam(scoutNo).MotorPos.Y; var offsetPos = GetFieldScanParam(scoutNo).MotorPosOffset.Y; return scannerPos + offsetPos; } #endregion } }