Browse Source

Fixed errors with template two-phase lookup, discovered with GCC 4.7.

vectorfields
Vladimír Vondruš 15 years ago
parent
commit
58ace7d678
  1. 4
      src/Math/Vector2.h
  2. 6
      src/Math/Vector3.h
  3. 8
      src/Math/Vector4.h

4
src/Math/Vector2.h

@ -47,8 +47,8 @@ template<class T> class Vector2: public Vector<T, 2> {
inline T x() const { return Vector<T, 2>::at(0); } /**< @brief X component */ inline T x() const { return Vector<T, 2>::at(0); } /**< @brief X component */
inline T y() const { return Vector<T, 2>::at(1); } /**< @brief Y component */ inline T y() const { return Vector<T, 2>::at(1); } /**< @brief Y component */
inline void setX(T value) { set(0, value); } /**< @brief Set X component */ inline void setX(T value) { this->set(0, value); } /**< @brief Set X component */
inline void setY(T value) { set(1, value); } /**< @brief Set Y component */ inline void setY(T value) { this->set(1, value); } /**< @brief Set Y component */
/** @copydoc Vector::operator=() */ /** @copydoc Vector::operator=() */
inline Vector2<T>& operator=(const Vector<T, 2>& other) { return Vector<T, 2>::operator=(other); } inline Vector2<T>& operator=(const Vector<T, 2>& other) { return Vector<T, 2>::operator=(other); }

6
src/Math/Vector3.h

@ -65,9 +65,9 @@ template<class T> class Vector3: public Vector<T, 3> {
inline T y() const { return Vector<T, 3>::at(1); } /**< @brief Y component */ inline T y() const { return Vector<T, 3>::at(1); } /**< @brief Y component */
inline T z() const { return Vector<T, 3>::at(2); } /**< @brief Z component */ inline T z() const { return Vector<T, 3>::at(2); } /**< @brief Z component */
inline void setX(T value) { set(0, value); } /**< @brief Set X component */ inline void setX(T value) { this->set(0, value); } /**< @brief Set X component */
inline void setY(T value) { set(1, value); } /**< @brief Set Y component */ inline void setY(T value) { this->set(1, value); } /**< @brief Set Y component */
inline void setZ(T value) { set(2, value); } /**< @brief Set Z component */ inline void setZ(T value) { this->set(2, value); } /**< @brief Set Z component */
inline T r() const { return x(); } /**< @brief R component */ inline T r() const { return x(); } /**< @brief R component */
inline T g() const { return x(); } /**< @brief G component */ inline T g() const { return x(); } /**< @brief G component */

8
src/Math/Vector4.h

@ -66,10 +66,10 @@ template<class T> class Vector4: public Vector<T, 4> {
inline T z() const { return Vector<T, 4>::at(2); } /**< @brief Z component */ inline T z() const { return Vector<T, 4>::at(2); } /**< @brief Z component */
inline T w() const { return Vector<T, 4>::at(3); } /**< @brief W component */ inline T w() const { return Vector<T, 4>::at(3); } /**< @brief W component */
inline void setX(T value) { set(0, value); } /**< @brief Set X component */ inline void setX(T value) { this->set(0, value); } /**< @brief Set X component */
inline void setY(T value) { set(1, value); } /**< @brief Set Y component */ inline void setY(T value) { this->set(1, value); } /**< @brief Set Y component */
inline void setZ(T value) { set(2, value); } /**< @brief Set Z component */ inline void setZ(T value) { this->set(2, value); } /**< @brief Set Z component */
inline void setW(T value) { set(3, value); } /**< @brief Set W component */ inline void setW(T value) { this->set(3, value); } /**< @brief Set W component */
/** /**
* @brief XYZ part of the vector * @brief XYZ part of the vector

Loading…
Cancel
Save