PrimeWorldEditor/Common/CRay.h

36 lines
705 B
C++

#ifndef CRAY_H
#define CRAY_H
#include "CVector3f.h"
class CRay
{
CVector3f mOrigin;
CVector3f mDirection;
public:
CRay();
CRay(const CVector3f& Origin, const CVector3f& Direction);
~CRay();
const CVector3f& Origin() const;
const CVector3f& Direction() const;
void SetOrigin(const CVector3f& Origin);
void SetDirection(const CVector3f& Direction);
CRay Transformed(const CTransform4f& Matrix) const;
CVector3f PointOnRay(float Distance) const;
};
// ************ INLINE FUNCTIONS ************
inline const CVector3f& CRay::Origin() const
{
return mOrigin;
}
inline const CVector3f& CRay::Direction() const
{
return mDirection;
}
#endif // CRAY_H