SDC C-Project CF Review 프로그램
LYW
2021-07-08 9cbd9e554f9956b3b945b51602f1d4a3fa0353e1
ReviewHistory/include/akCore/akStruct.h
»õ ÆÄÀÏ
@@ -0,0 +1,134 @@
#pragma once
#include "akCoreLinker.h"
#include "akStructPoint.h"
#include "akStructVector.h"
//#include "akStructRect.h"
//#include "akStructColor.h"
//#define _USE_MATH_DEFINES
//#include <math.h>
//
//namespace akCore
//{
//   struct AKCORE_DLLSPEC khVector3d
//   {
//      double pos[3];
//
//      khVector3d();
//      khVector3d(double x,double y, double z);
//      inline void set(double x,double y, double z);
//      inline double x(){return pos[0];};
//      inline double y(){return pos[1];};
//      inline double z(){return pos[2];};
//
//      double& operator()(int index){return pos[index];};
//
//      inline khVector3d operator+(const khVector3d& vec3d);
//      inline khVector3d operator-(const khVector3d& vec3d);
//      inline khVector3d& operator=(const khVector3d& vec3d);
//      inline khVector3d& operator+=(const khVector3d& vec3d);
//      inline khVector3d& operator-=(const khVector3d& vec3d);
//      khVector3d operator*(float& a)
//      {
//         khVector3d returnval;
//
//         returnval.pos[0] = pos[0] * a;
//         returnval.pos[1] = pos[1] * a;
//         returnval.pos[2] = pos[2] * a;
//
//         return returnval;
//      };
//
//      khVector3d operator *(khVector3d &vec)
//      {
//         khVector3d vc;
//         vc.pos[0] = pos[1]*vec.pos[2] - pos[2]*vec.pos[1];
//         vc.pos[1] = pos[2]*vec.pos[0] - pos[0]*vec.pos[2];
//         vc.pos[2] = pos[0]*vec.pos[1] - pos[1]*vec.pos[0];
//         return vc;
//      }
//
//      float Dot(khVector3d vec)
//      {
//         return (float)(vec.pos[0] * pos[0] + vec.pos[1] * pos[1] + vec.pos[2] * pos[2]);
//      };
//      float Mag()
//      {
//         return (float)sqrt(pos[0]*pos[0]+pos[1]*pos[1]);
//      };
//      void Normalize()
//      {
//         float length;
//
//         //벡터의 ê¸¸ì´ë¥¼ ê³„산한다.
//         length = (float)sqrt((pos[0]*pos[0]) + (pos[1]*pos[1]) +(pos[2]*pos[2]));
//         // ê¸¸ì´ê°€ 0에 ê°€ê¹Œìš´ ë²¡í„°ì—ê²Œ ì ˆì ˆí•œ ê°’을 í•­ë‹¹í•˜ì—¬ í”„로그램이 í­ì£¼í•˜ì§€ ì•Šë„록 í•œë‹¤.
//         if(length == 0.0f) length = 1.0f;
//
//         // ê° ì„±ë¶„을 ë²¡í„°ì˜ ê¸¸ì´ë¡œ ë‚˜ëˆ„ë©´ ë‹¨ìœ„ ë²¡í„°ê°€ ëœë‹¤.
//         pos[0] = pos[0] / length;
//         pos[1] = pos[1] / length;
//         pos[2] = pos[2] / length;
//
//      };
//   };
//
//   struct AKCORE_DLLSPEC khVector2d
//   {
//      double pos[2];
//
//      khVector2d();
//      khVector2d(double x,double y);
//      inline void set(double x,double y);
//      inline double x(){return pos[0];};
//      inline double y(){return pos[1];};
//
//      double& operator()(int index){return pos[index];};
//
//      inline khVector2d operator+(const khVector2d& vec3d);
//      inline khVector2d operator-(const khVector2d& vec3d);
//      inline khVector2d& operator=(const khVector2d& vec3d);
//      inline khVector2d& operator+=(const khVector2d& vec3d);
//      inline khVector2d& operator-=(const khVector2d& vec3d);
//
//   };
//
//   struct AKCORE_DLLSPEC khColor4f
//   {
//      float color[4];
//
//      khColor4f();
//      khColor4f(float R, float G, float B, float A=0.0f);
//      void set(float R, float G, float B, float A=0.0f);
//      inline float R(){return color[0];};
//      inline float G(){return color[1];};
//      inline float B(){return color[2];};
//      inline float A(){return color[3];};
//      inline khColor4f& operator=(const khColor4f& ksgcolor);
//   };
//
//   struct AKCORE_DLLSPEC khRect
//   {
//      double pos[4];
//
//      khRect();
//      khRect(double left, double top, double right, double bottom);
//      void set(double left, double top, double right, double bottom);
//      inline khRect& operator=(const khRect& rect);
//      inline double Left(){return pos[0];};
//      inline double Top(){return pos[1];};
//      inline double Right(){return pos[2];};
//      inline double Bottom(){return pos[3];};
//      inline double Width(){return pos[2]-pos[0];};
//      inline double Height(){return pos[3]-pos[1];};
//      inline void SetAlign(); //작은값이 ì™¼ìª½, ìœ„, í°ê°’이 ì˜¤ë¥¸ìª½ ì•„래로 ê°€ê²Œ í•œë‹¤.
//      inline bool CheckAreaIn(double x, double y); //사각형 ì˜ì—­ì— x,y포인트가 ìžˆëŠ”ì§€ ê²€ì‚¬
//      inline bool CheckWidthIn(double p1); //x포인트 ê°€ìš´ë° ì ì´ ìžˆëŠ”ì§€ ê²€ì‚¬
//      inline bool CheCakeightIn(double p1); //y포인트 ê°€ìš´ë° ì ì´ ìžˆëŠ”ì§€ ê²€ì‚¬
//
//
//   };
//};