SDC C-Project CF Review 프로그램
ReviewHistory/include/akSTL/akVectorT.h
»õ ÆÄÀÏ
@@ -0,0 +1,50 @@
#pragma once
#include "akSTLLinker.h"
#define _USE_MATH_DEFINES
#include <math.h>
template<typename T>
class CakVectorT
{
public:
   CakVectorT(void){};
   CakVectorT(const T& X, const T& Y, const T& Z):x(X),y(Y),z(Z) {};
   //~CakVectorT(void){};
   // Operations
   // translate the point
   void Offset(T xOffset, T yOffset, T zOffset) throw();
   void Offset(CakVectorT<T> vector) throw();
   void set(T X, T Y, T Z) throw();
   bool operator==(CakVectorT<T> vector) const throw();
   bool operator!=(CakVectorT<T> vector) const throw();
   void operator+=(CakVectorT<T> vector) throw();
   void operator-=(CakVectorT<T> vector) throw();
   // Operators returning CakVector values
   CakVectorT<T> operator-() const throw();
   CakVectorT<T> operator+(CakVectorT<T> vector) const throw();
   CakVectorT<T> operator-(CakVectorT<T> vector) const throw();
   CakVectorT<T> operator*(T& a) const throw();
   CakVectorT<T> operator*(CakVectorT<T> &vec) const throw();
   //내적
   T Dot(CakVectorT<T> vec){   return (vec.x * x + vec.y * y + vec.z * z);   };
   T Mag()               {   return sqrt(x*x+y*y);      };
   T getLength()         {   return sqrt(x*x+y*y+z*z);   };
   void Normalize();
public:
   T x,y,z;
};
#include "inl/akVectorT.inl"