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