Stellarium  0.20.4
Public Member Functions | Data Fields
Vector3< T > Class Template Reference

A templatized 3d vector compatible with OpenGL. More...

#include <VecMath.hpp>

Public Member Functions

 Vector3 ()
 The vector is not initialized!
 
 Vector3 (T)
 Sets all components of the vector to the same value.
 
 Vector3 (const T *)
 Explicit conversion constructor from an array (copies values) More...
 
 Vector3 (T, T, T)
 
 Vector3 (QString s)
 Constructor from a comma-separated QString like "2,4,6" or "2.1,4.2,6.3".
 
 Vector3 (QStringList s)
 Constructor from a QStringList like { "2", "4", "6" } or { "2.1", "4.2", "6.3" }.
 
 Vector3 (QColor c)
 Constructor from a QColor.
 
Vector3operator= (const T *)
 Assignment from array. More...
 
void set (T, T, T)
 
Vector3 setFromHtmlColor (QString s)
 Assign from HTML color The Vec3i type will have values 0...255 Vec3f and Vec3d will have [0...[1.
 
bool operator== (const Vector3< T > &) const
 
bool operator!= (const Vector3< T > &) const
 
bool fuzzyEquals (const Vector3< T > &, T epsilon=std::numeric_limits< T >::epsilon()) const
 allows for a fuzzy comparison using some epsilon value
 
T & operator[] (int)
 
const T & operator[] (int) const
 
 operator const T * () const
 
 operator T* ()
 
const T * data () const
 
T * data ()
 
void operator+= (const Vector3< T > &)
 
void operator-= (const Vector3< T > &)
 
void operator*= (T)
 
void operator/= (T)
 
Vector3 operator- (const Vector3< T > &) const
 
Vector3 operator+ (const Vector3< T > &) const
 
Vector3 operator- () const
 
Vector3 operator+ () const
 
Vector3 operator* (T) const
 
Vector3 operator/ (T) const
 
dot (const Vector3< T > &) const
 
Vector3 operator^ (const Vector3< T > &) const
 
latitude () const
 
longitude () const
 
angle (const Vector3< T > &) const
 
angleNormalized (const Vector3< T > &) const
 
length () const
 
lengthSquared () const
 
void normalize ()
 
void transfo4d (const Mat4d &)
 
void transfo4d (const Mat4f &)
 
Vec3f toVec3f () const
 
Vec3d toVec3d () const
 
QString toString () const
 Formatted string with brackets.
 
QString toStr () const
 Compact comma-separated string without brackets and spaces. More...
 
QString toStringLonLat () const
 
QString toHtmlColor () const
 Convert a Vec3i/Vec3f/Vec3d to HTML color notation. In case of Vec3i, components are 0...255, else 0...1.
 
QColor toQColor () const
 Convert to a QColor.
 

Data Fields

v [3]
 

Detailed Description

template<class T>
class Vector3< T >

Use Vec3i for integer and Vec3d or Vec3f typedef for vectors of double and float respectively.

Constructor & Destructor Documentation

◆ Vector3()

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

Member Function Documentation

◆ operator=()

template<class T>
Vector3< T > & Vector3< T >::operator= ( const T *  a)
inline
Warning
Does not check array size, make sure it has at least 2 elements

◆ toStr()

template<class T>
QString Vector3< T >::toStr ( ) const

The result can be restored into a Vector2 by the Vector3(QString s) constructors.