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/include/akGraph/akGraphMesh.h | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 106 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/include/akGraph/akGraphMesh.h b/ReviewHistory/include/akGraph/akGraphMesh.h new file mode 100644 index 0000000..cffabc6 --- /dev/null +++ b/ReviewHistory/include/akGraph/akGraphMesh.h @@ -0,0 +1,106 @@ +#pragma once + +#include "akGraph/akGraphBase.h" +#include "akGraph/akDataMesh.h" +#include "akGraph/akColorTable.h" +#include "akGraph/akColorTableOption.h" +#include "akGraph/akRangeSettingNormalDlg.h" + +class AFX_EXT_CLASS CakGraphMesh : public CakGraphBase, public CakDataMesh +{ +public: + CakGraphMesh(void); + virtual ~CakGraphMesh(void); + +public: + virtual BOOL CreateGraph(CWnd* pParent, CRect rect); + + virtual void RenderDataArea(Graphics* grfx, CDC* pDC); //데이터 영역 그리기 + virtual void RenderAxis(Graphics* grfx, CDC* pDC); // + virtual void RenderLabel(Graphics* grfx, CDC* pDC); // + virtual void RenderTitle(Graphics* grfx, CDC* pDC); + virtual void RenderEnd(Graphics* grfx, CDC* pDC); + virtual void RenderMouseHoverInfo(CDC* pDC); + + virtual void OnKeyInput(int key, int mode); //mode 0==keyup, mode 1==keydown + virtual void OnMouseInput(akMouseEvent mouseevent, CPoint point); + virtual void CaculatorGraphSize(); + + virtual void SetDataNum(int sizex, int sizey); + + void SetReverseModeX(bool flag); //x축 역방향 표시 + bool GetReverseModeX(){return m_bReverseX;}; //x축 역방향 표시 + void SetReverseModeY(bool flag); //x축 역방향 표시 + bool GetReverseModeY(){return m_bReverseY;}; //x축 역방향 표시 + + inline int GetWindowPosX(double xvalue); //위치 값에 따른 윈도우 좌표 + inline int GetWindowPosY(double yvalue); //위치 값에 따른 윈도우 좌표 + inline double GetValuePosDataX(int xpos, bool dataArea = false); //윈도우 좌표에 따른 데이터 + inline double GetValuePosDataY(int ypos, bool dataArea = false); //윈도우 좌표에 따른 데이터 + + virtual void SetAutoScale(); + + double GetDataValue(double posx, double posy);// + void CaculatorDataRange(double *min, double *max); + + void SetColorTableFile(char* pFileName); + virtual BOOL ShowColorTableOptionDlg(CPoint point); +protected: + +protected: + bool m_bReverseX; + bool m_bReverseY; + +public: + double m_NoDataValue; //데이터가 없는 곳의 값 처리 + + + CakColorTableOptionDlg* m_pColorTableOption; + CakRangeSettingNormalDlg* m_pRangeXSettingDlg; + CakRangeSettingNormalDlg* m_pRangeYSettingDlg; + + bool m_bRangeYSetting; + bool m_bRangeXSetting; + + bool m_bDataMinAnti; + bool m_bDataMaxAnti; + + CString m_strComment;//데이터 영역 우측 상단에 코멘트 표시 +protected: + CakColorTable m_ColorTable; + + //컬러테이블 관련 +public: + bool m_bColorBar;//색상바 표시 설정 + bool m_bColorTableTickBar; + CakRect m_rectColorTablebar; + COLORREF m_ColorBarFontColor; //컬러바 폰트 컬러 + int m_colorMin; + int m_colorMax; + int m_colorLevel; + int m_colorIndex; + bool m_colorInverse; + bool m_colorInterpolation; + bool m_colorAuto; + + +public: + DECLARE_MESSAGE_MAP() + + afx_msg LRESULT OnColorTableOptionUpdate(WPARAM wParam, LPARAM lParam); + + afx_msg LRESULT OnRangeSettingUpdate(WPARAM wParam, LPARAM lParam); + + + +protected: +// virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam); +public: + afx_msg void OnKillFocus(CWnd* pNewWnd); +// virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL); + virtual BOOL PreTranslateMessage(MSG* pMsg); + + + + +}; -- Gitblit v1.9.3