00001 #ifndef __GXRAY_H
00002 #define __GXRAY_H
00003 
00004 #include "GXStandardDefines.h"
00005 
00006 
00007 class CGXRay
00008 {
00009 public:
00010         CGXRay();
00011 
00012         CGXRay(const D3DXVECTOR3& vOrigin, const D3DXVECTOR3& vDirection);
00013 
00014 
00015 
00016 public:
00017         inline void GetOrigin(D3DXVECTOR3* pOut)
00018         {
00019                 assert(pOut!=NULL);
00020                 *pOut=m_vOrigin;
00021         }
00022 
00023         inline void GetDirection(D3DXVECTOR3* pOut)
00024         {
00025                 assert(pOut!=NULL);
00026                 *pOut=m_vDirection;
00027         }
00028 
00029         inline void SetOrigin(const D3DXVECTOR3* pIn)
00030         {
00031                 assert(pIn!=NULL);
00032                 m_vOrigin=*pIn;
00033         }
00034 
00035         inline void SetDirection(const D3DXVECTOR3* pIn)
00036         {
00037                 assert(pIn!=NULL);
00038                 m_vDirection=*pIn;
00039                 D3DXVec3Normalize(&m_vDirection, &m_vDirection);
00040         }
00041 
00042 
00043 protected:
00044         D3DXVECTOR3 m_vOrigin;
00045         D3DXVECTOR3 m_vDirection;
00046 };
00047 
00048 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 #endif