-
Notifications
You must be signed in to change notification settings - Fork 0
/
PhiVector3.h
40 lines (31 loc) · 1.13 KB
/
PhiVector3.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef __PHI_VECTOR_3__
#define __PHI_VECTOR_3__
#include <iostream>
#include "Defines.h"
#include "PhiVector.h"
// Forward Declarations
class CPhiVector;
class CPhiVector3 {
// Functions
public:
CPhiVector3(const CPhiVector& rX, const CPhiVector& rY, const CPhiVector& rZ);
CPhiVector GetMagnitudeSquared() const;
const CPhiVector& operator[] (u32 uIndex) const;
CPhiVector& operator[] (u32 uIndex);
CPhiVector3 operator* (const CPhiVector& rPhiVector) const;
CPhiVector3 operator* (s32 sScalar) const;
CPhiVector3 operator+ (const CPhiVector3& rPhiVector3) const;
CPhiVector3 operator- (const CPhiVector3& rPhiVector3) const;
CPhiVector3& operator*= (const CPhiVector& rPhiVector);
CPhiVector3& operator*= (s32 sScalar);
CPhiVector3& operator+= (const CPhiVector3& rPhiVector3);
CPhiVector3& operator-= (const CPhiVector3& rPhiVector3);
friend CPhiVector3 operator* (s32 sScalar, const CPhiVector3& rPhiVector3);
friend std::ostream& operator<< (std::ostream& rOStream, const CPhiVector3& rPhiVector3);
// Variables
public:
CPhiVector x;
CPhiVector y;
CPhiVector z;
};
#endif // __PHI_VECTOR_3__