mirror of
https://github.com/PrimeDecomp/prime.git
synced 2026-07-12 18:18:56 -07:00
37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
#ifndef _CUNITVECTOR3F
|
|
#define _CUNITVECTOR3F
|
|
|
|
#include "types.h"
|
|
|
|
#include "Kyoto/Math/CVector3f.hpp"
|
|
|
|
class CUnitVector3f : public CVector3f {
|
|
public:
|
|
enum ENormalize {
|
|
kN_No,
|
|
kN_Yes,
|
|
};
|
|
|
|
CUnitVector3f(const float x, const float y, const float z) : CVector3f(x, y, z) {}
|
|
CUnitVector3f(const CVector3f& vec, const ENormalize normalize) : CVector3f(vec) {
|
|
if (normalize == kN_Yes) {
|
|
Normalize();
|
|
}
|
|
}
|
|
CUnitVector3f(const CVector3f& vec);
|
|
};
|
|
CHECK_SIZEOF(CUnitVector3f, 0xc)
|
|
|
|
inline CUnitVector3f operator-(const CUnitVector3f& vec) {
|
|
return CUnitVector3f(-vec.GetX(), -vec.GetY(), -vec.GetZ());
|
|
}
|
|
|
|
inline const CUnitVector3f& CVector3f::Up() { return sUpVector; }
|
|
inline const CUnitVector3f& CVector3f::Down() { return sDownVector; }
|
|
inline const CUnitVector3f& CVector3f::Left() { return sLeftVector; }
|
|
inline const CUnitVector3f& CVector3f::Right() { return sRightVector; }
|
|
inline const CUnitVector3f& CVector3f::Forward() { return sForwardVector; }
|
|
inline const CUnitVector3f& CVector3f::Back() { return sBackVector; }
|
|
|
|
#endif // _CUNITVECTOR3F
|