Stellarium  0.17.0
Public Member Functions | Data Fields
Vector4< T > Class Template Reference

A templatized 4d vector compatible with openGL. More...

#include <VecMath.hpp>

Public Member Functions

 Vector4 ()
 The vector is not initialized!
 
 Vector4 (const T *)
 Explicit conversion constructor from an array. More...
 
 Vector4 (const Vector3< T > &)
 Creates an Vector4 with xyz set to the given Vector3, and w set to 1.0.
 
 Vector4 (T, T, T)
 Creates an Vector4 with xyz set to the given values, and w set to 1.0.
 
 Vector4 (T, T, T, T)
 
Vector4operator= (const Vector3< T > &)
 
Vector4operator= (const T *)
 
void set (T, T, T, T)
 
bool operator== (const Vector4< T > &) const
 
bool operator!= (const Vector4< T > &) const
 
T & operator[] (int)
 
const T & operator[] (int) const
 
 operator T * ()
 
 operator const T * () const
 
void operator+= (const Vector4< T > &)
 
void operator-= (const Vector4< T > &)
 
void operator*= (T)
 
void operator/= (T)
 
Vector4 operator- (const Vector4< T > &) const
 
Vector4 operator+ (const Vector4< T > &) const
 
Vector4 operator- () const
 
Vector4 operator+ () const
 
Vector4 operator* (T) const
 
Vector4 operator/ (T) const
 
dot (const Vector4< T > &) const
 
length () const
 
lengthSquared () const
 
void normalize ()
 
void transfo4d (const Mat4d &)
 
QString toString () const
 

Data Fields

v [4]
 

Detailed Description

template<class T>
class Vector4< T >

Use Vec4d or Vec4f typdef for vectors of double and float respectively.

Constructor & Destructor Documentation

template<class T>
Vector4< T >::Vector4 ( const T *  x)
inlineexplicit
Warning
Does not check array size, make sure it has at least 4 elements