From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001 From: SWK <sungwk82@diteam.co.kr> Date: 목, 22 12월 2022 12:31:43 +0900 Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합) --- ReviewHistory/ReveiwHistory/akImageView.h | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 110 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/ReveiwHistory/akImageView.h b/ReviewHistory/ReveiwHistory/akImageView.h new file mode 100644 index 0000000..8b6d050 --- /dev/null +++ b/ReviewHistory/ReveiwHistory/akImageView.h @@ -0,0 +1,110 @@ +#pragma once + +#include "akGraph/akGraphBasic3.h" +#include <vector> + +/*< LYW 20211018 - #3684 ADD Start >*/ +#define UM_FORMMAP_IMAGEMOUSECLICK WM_USER+0x2003 +/*< LYW 20211018 - #3684 ADD End >*/ + +struct SPixelInfo +{ + SPixelInfo() + { + nWidthPixel = 0; + nHeightPixel = 0; + dDiagonalPixel = 0; + dWidthRealUM = 0; + dHeightRealUM = 0; + dDiagonalRealUM = 0; + } + int nWidthPixel; + int nHeightPixel; + double dDiagonalPixel; + + double dWidthRealUM; + double dHeightRealUM; + double dDiagonalRealUM; +}; + +class CakDataImage2 +{ +public: + CakDataImage2(void); + virtual ~CakDataImage2(void); + + struct _DataImage2 + { + _DataImage2() + { + m_nDrawPosX = m_nDrawPosY = 0; + m_nRoate = 0; + m_nDrawWidth = m_nDrawHeight = 0; + + m_bReverseX = m_bReverseY = false; + } + CString m_strBitmapFilename; + CBitmap m_Bitmap; + BITMAP m_Bits; + + unsigned char* m_pBitmapData; + + //그리기 정보 [김태현 2018/12/7] + int m_nProjectionType; + int m_nDrawPosX, m_nDrawPosY; + int m_nDrawWidth, m_nDrawHeight; + float m_nRoate; + bool m_bReverseX, m_bReverseY; + }; + +public: + int SetImageData(char* pFileName, int nImageIndex = 0); //add가 아니면 0번 인덱스에 넣는다. + int GetScaleWidth(); + int GetScaleHeight(); + BOOL GetTrackerRect(CRect & rtRect); + void DrawROIRect(CDC * pDC); + int GetImageDataNum() { return m_vecImageData.size(); }; +public: + std::vector<_DataImage2*> m_vecImageData; + + double m_dWidthScale; + double m_dHeightScale; + double m_dResolution; + + BOOL m_bDrawTracker; + CPoint m_ptTrackerStart; +// CCHRectTracker m_rectTracker; + + CRect m_rtROIRect; + SPixelInfo m_sROIInfo; + + // Scroll Pos + int m_nVScroll; + int m_nHScroll; + // Max Scroll Pos + int m_nMaxVScroll; + int m_nMaxHScroll; + /*< LYW 20211018 - #3684 ADD Start >*/ + // OnePixel + double m_dOnePixelX; + double m_dOnePixelY; + /*< LYW 20211018 - #3684 ADD End >*/ + + +}; + +class CakImageView : public CakGraphBasic3, public CakDataImage2 +{ +public: + CakImageView(); + virtual ~CakImageView(); + +public: + virtual void RenderSeries(Graphics* grfx, CDC* pDC); + + virtual void SetAutoScale(); + virtual void SetResize(); + virtual void RenderImage(Graphics* grfx, CDC* pDC); + virtual void OnMouseInput(akMouseEvent mouseevent, CPoint point); +}; + -- Gitblit v1.9.3