00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_VECTOR3_HPP
00026 #define SFML_VECTOR3_HPP
00027
00028
00029 namespace sf
00030 {
00036 template <typename T>
00037 class Vector3
00038 {
00039 public :
00040
00045 Vector3();
00046
00055 Vector3(T X, T Y, T Z);
00056
00058
00060 T x;
00061 T y;
00062 T z;
00063 };
00064
00073 template <typename T>
00074 Vector3<T> operator -(const Vector3<T>& V);
00075
00085 template <typename T>
00086 Vector3<T>& operator +=(Vector3<T>& V1, const Vector3<T>& V2);
00087
00097 template <typename T>
00098 Vector3<T>& operator -=(Vector3<T>& V1, const Vector3<T>& V2);
00099
00109 template <typename T>
00110 Vector3<T> operator +(const Vector3<T>& V1, const Vector3<T>& V2);
00111
00121 template <typename T>
00122 Vector3<T> operator -(const Vector3<T>& V1, const Vector3<T>& V2);
00123
00133 template <typename T>
00134 Vector3<T> operator *(const Vector3<T>& V, T X);
00135
00145 template <typename T>
00146 Vector3<T> operator *(T X, const Vector3<T>& V);
00147
00157 template <typename T>
00158 Vector3<T>& operator *=(Vector3<T>& V, T X);
00159
00169 template <typename T>
00170 Vector3<T> operator /(const Vector3<T>& V, T X);
00171
00181 template <typename T>
00182 Vector3<T>& operator /=(Vector3<T>& V, T X);
00183
00193 template <typename T>
00194 bool operator ==(const Vector3<T>& V1, const Vector3<T>& V2);
00195
00205 template <typename T>
00206 bool operator !=(const Vector3<T>& V1, const Vector3<T>& V2);
00207
00208 #include <SFML/System/Vector3.inl>
00209
00210
00211 typedef Vector3<int> Vector3i;
00212 typedef Vector3<float> Vector3f;
00213
00214 }
00215
00216
00217 #endif // SFML_VECTOR3_HPP