#pragma once #include "akCoreLinker.h" #include "akStructPoint.h" #include "akStructVector.h" //#include "akStructRect.h" //#include "akStructColor.h" //#define _USE_MATH_DEFINES //#include // //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Æ÷ÀÎÆ® °¡¿îµ¥ Á¡ÀÌ ÀÖ´ÂÁö °Ë»ç // // // }; //};