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/akCore/akStructRect.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 59 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/include/akCore/akStructRect.h b/ReviewHistory/include/akCore/akStructRect.h new file mode 100644 index 0000000..c8221eb --- /dev/null +++ b/ReviewHistory/include/akCore/akStructRect.h @@ -0,0 +1,59 @@ +#pragma once + +#include "akCoreLinker.h" + + +namespace akCore +{ + class AKCORE_DLLSPEC khRect + { + public: + khRect(void); + khRect(int l, int t, int r, int b); + virtual ~khRect(void); + + + + void set(int l, int t, int r, int b); + khRect& operator=(const khRect& rect); + inline int getWidth(){return right-left;}; + inline int getHeight(){return bottom-top;}; + inline int getCenter(){return int(left+(right-left)/2.0);}; + inline int getVCenter(){return int(top+(bottom-top)/2.0);}; + void setAlign(); //작은값이 왼쪽, 위, 큰값이 오른쪽 아래로 가게 한다. + bool getCheckAreaIn(double x, double y); //사각형 영역에 x,y포인트가 있는지 검사 + bool getCheckWidthIn(double p1); //x포인트 가운데 점이 있는지 검사 + bool getCheCakeightIn(double p1); //y포인트 가운데 점이 있는지 검사 + + + public: + int left, top, right, bottom; + }; + + + class AKCORE_DLLSPEC khRect4d + { + public: + khRect4d(void); + khRect4d(double l, double t, double r, double b); + virtual ~khRect4d(void); + + + + void set(double l, double t, double r, double b); + khRect4d& operator=(const khRect4d& rect); + inline double getWidth(){return right-left;}; + inline double getHeight(){return bottom-top;}; + inline double getCenter(){return left+(right-left)/2.0;}; + inline double getVCenter(){return top+(bottom-top)/2.0;}; + void setAlign(); //작은값이 왼쪽, 위, 큰값이 오른쪽 아래로 가게 한다. + bool getCheckAreaIn(double x, double y); //사각형 영역에 x,y포인트가 있는지 검사 + bool getCheckWidthIn(double p1); //x포인트 가운데 점이 있는지 검사 + bool getCheCakeightIn(double p1); //y포인트 가운데 점이 있는지 검사 + + public: + double left, top, right, bottom; + }; + + +}; -- Gitblit v1.9.3