From 20734d0fdaefe16a67511bdf8fe6e295c02f27dc Mon Sep 17 00:00:00 2001 From: kojingeun <diteam.co.kr> Date: 월, 19 6월 2023 16:25:31 +0900 Subject: [PATCH] Ongoing60 #4517 CF AOI Review 결과 파일 찾기 실패 개선 1. Find Bin File 무조건 실패하는 버그 개선 --- ReviewHistory/include/akCore/akDE.h | 123 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/include/akCore/akDE.h b/ReviewHistory/include/akCore/akDE.h new file mode 100644 index 0000000..445c9e6 --- /dev/null +++ b/ReviewHistory/include/akCore/akDE.h @@ -0,0 +1,123 @@ +#pragma once + + +#include "akCoreLinker.h" + +#define _USE_MATH_DEFINES + +#include <math.h> +#include <windows.h> + + +namespace akCore +{ + class AKCORE_DLLSPEC CakDE { + public: + CakDE(void); + ~CakDE(void); + // TODO: 여기에 메서드를 추가합니다. + + public: + /** + * 함수명 : getMovingPostion + * 현제의 좌표로부터 속도와 시간만큼 움직였을때의 좌표 도출 + * Parameters: + * double* posX //X좌표(결과값 반환) + * double* posY //Y좌표(결과값 반환) + * double* posZ //Z좌표(결과값 반환) + * double heading //Heading(0~360) + * double pitch //Pitch(0~360) + * double velocity //속도(m/s + * unsigned int Framerate //프레임(Hz) + * Returns: + * 정상적인 계산 완료시 True 반환 + */ + bool getMovingPostion(double* posX,double* posY,double* posZ,double heading,double pitch, double velocity, unsigned int Framerate); + bool getNextPostion(double* posX,double* posY,double* posZ,double heading,double pitch, double velocity, double Dt); + + /** + * 함수명 : getRotatePostion + * 현제 좌표로부터 Heading,Pitch방향으로 정해진 값만큼 움직였을때 좌표 도출 + * Parameters: + * double* posX //X좌표(결과값 반환) + * double* posY //Y좌표(결과값 반환) + * double* posZ //Z좌표(결과값 반환) + * double heading //Heading(0~360) + * double pitch //Pitch(0~360) + * double radius //거리 + * Returns: + * 정상적인 계산 완료시 True 반환 + */ + bool getRotatePostion(double* posX, double* posY, double* posZ, double heading, double pitch, double radius); + + /** + * 함수명 : getAngle3d + * 두 좌표가 이루는 각을 환산 + * Parameters: + * double x1 // 첫번째 좌표 + * double y1 // 첫번째 좌표 + * double z1 // 첫번째 좌표 + * double x2 // 두번째 좌표 + * double y2 // 두번째 좌표 + * double z2 // 두번째 좌표 + * double heading //Heading(결과값 반환) + * double pitch //Pitch(결과값 반환) + * Returns: + */ + void getAngle3d(double x1, double y1, double z1, double x2, double y2, double z2, double* heading, double* pitch); + + /** + * 함수명 : AngleClosing + * 두 각의 간격 크기 + * Parameters: + * double center // 중심 각 + * double angle // 회전 각 + * int option // 0은 무조건 가까운쪽 각 + * Returns: + * 중심각과 회전각의 간격 반환 + */ + double GetAngleClosing(double center, double angle, int option = 0); + + /** + * 함수명 : GetAngle360 + * 각을 0~360도 환산 + * Parameters: + * double angle // 입력 각 + * Returns: + * 0~360도로 환산된 각 + */ + inline double GetAngle360(double angle); + + /** + * 함수명 : GetAngle180 + * 각을 -180~180도 환산 + * Parameters: + * double angle // 입력 각 + * Returns: + * -180~180도로 환산된 각 + */ + static inline double GetAngle180(double angle); + + + + static void getRoate2d(double angle, double orgx,double orgy, double* x, double* y); + + double distance3d(double x1, double y1, double z1, double x2, double y2, double z2); + + void rotateposition3d(double x1,double y1, double z1, double* x2, double* y2, double* z2, double h, double p); + + void axisrotate( double* nx, double* ny, double* nz, + double cx, double cy, double cz, + double tx, double ty, double tz, + double heading, double pitch, double roll ); + + bool missilesim(double msx, double msy, double msz, double msh, double msp, double msah, double msap, double tgx, double tgy, double tgz, double velocty, double acceleration, int FrameRate); + + inline static double getHeading(double x , double y); + + inline double RadianToDegree(double radian); + inline double DegreeToRadian(double degree); + inline bool GetCheckAngleRange(double p1, double stAngle, double endAngle); + private: + }; +} \ No newline at end of file -- Gitblit v1.9.3