Kyungshin-Welder/AuroraVision/MilCommon/IMilCameraDisplay.cs
2026-01-26 14:51:28 +09:00

122 lines
4.5 KiB
C#

/*
* Copyright (c) 2025 LG Electronics Inc.
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
*/
using VisionCommon;
using Matrox.MatroxImagingLibrary;
using System.Collections.Generic;
using Aurora.Api.DataType;
namespace MilCommon {
public interface IMilCameraDisplay : ICameraDisplay {
/// <summary>
/// Image MIL_ID 가져오기
/// </summary>
/// <returns>ImageBuffer MIL_ID</returns>
MIL_ID GetImage();
/// <summary>
/// Image 사이즈에 맞게 조절하기
/// </summary>
/// <param name="imageSize">원하는 Image Size</param>
/// <returns>성공 여부</returns>
int FitImage(ImageSize imageSize);
/// <summary>
/// Display Id 가져오기
/// </summary>
/// <returns>Display MIL_ID</returns>
MIL_ID GetMilDisplayId();
/// <summary>
/// Graphic Context Id 가져오기
/// </summary>
/// <returns>Display MIL_ID</returns>
MIL_ID GetGraphicContextId();
/// <summary>
/// Graphic List Id 가져오기
/// </summary>
/// <returns>Display MIL_ID</returns>
MIL_ID GetGraphicListId();
/// <summary>
/// String Read 결과 그리기
/// </summary>
/// <param name="resultContextId">결과 Context ID (MIL_ID)</param>
/// <param name="roi">ROI</param>
void DrawStrReadResult(MIL_ID resultContextId, ROI roi);
/// <summary>
/// OCR Read 결과 그리기
/// </summary>
/// <param name="resultContextId">결과 Context ID (MIL_ID)</param>
/// <param name="roi">ROI</param>
void DrawOcrReadResult(MIL_ID resultContextId, ROI roi);
/// <summary>
/// PatternEdge 추가
/// </summary>
/// <param name="resultContextId"> 결과 Context ID (MIL_ID)</param>
/// <param name="roi">ROI</param>
/// <returns>성공 여부</returns>
int AddPatternEdge(MIL_ID resultContextId, ROI roi);
/// <summary>
/// Cross 추가
/// </summary>
/// <param name="cross"></param>
/// <param name="color"></param>
/// <returns>성공 여부</returns>
int AddCross(Cross cross, MIL_INT color);
/// <summary>
/// 여러개의 Cross 추가
/// </summary>
/// <param name="crosses">여러개의 Cross (List)</param>
/// <param name="color">Cross 색상</param>
/// <returns>성공 여부</returns>
int AddCrosses(List<Cross> crosses, MIL_INT color);
/// <summary>
/// Line 추가
/// </summary>
/// <param name="color">색상</param>
/// <param name="line">line</param>
/// <param name="isEditable">수정가능 여부</param>
/// <returns>성공 여부</returns>
int AddLine(MIL_INT color, Line<ImagePoint> line, bool isEditable);
/// <summary>
/// 여러개의 Line 추가
/// </summary>
/// <param name="color">색상</param>
/// <param name="lines">여러개의 line (List)</param>
/// <returns>성공 여부</returns>
int AddLines(MIL_INT color, List<Line<ImagePoint>> lines);
/// <summary>
/// 여러개의 Vector 추가
/// </summary>
/// <param name="color">색상</param>
/// <param name="lines">여러개의 line (List)</param>
/// <param name="drawTail">Tail을 그릴지 여부</param>
/// <returns>성공 여부</returns>
int AddVectors(MIL_INT color, List<Line<ImagePoint>> lines, bool drawTail);
/// <summary>
/// 패턴 결과 여러개의 FindRoi 추가
/// </summary>
/// <param name="color">색상</param>
/// <param name="findRois">찾은 여러개의 ROI (List)</param>
/// <returns>성공 여부</returns>
int AddPatternResultFindRoi(MIL_INT color, List<ROI> findRois);
/// <summary>
/// 패턴 결과 단일 FindRoi 추가
/// </summary>
/// <param name="color">색상</param>
/// <param name="findRoi">찾은 단일 ROI</param>
/// <returns>성공 여부</returns>
int AddPatternResultFindRoi(MIL_INT color, ROI findRoi);
/// <summary>
/// 패천 결과 여러개의 점 추가
/// </summary>
/// <param name="color">색상</param>
/// <param name="dots">여러개의 ImagePoint (List)</param>
/// <returns>성공 여부</returns>
int AddPatternResultDots(MIL_INT color, List<ImagePoint> dots);
}
}