XX CMake Package
Loading...
Searching...
No Matches
XX::Linalg::Vector3 Class Reference

3D vector, used to represent points or directions in 3D space. More...

#include <XXLinalgVector3.h>

Detailed Description

3D vector, used to represent points or directions in 3D space.

Public Member Functions

 Vector3 (const double &x=0.0, const double &y=0.0, const double &z=0.0)
bool operator== (const Vector3 &other) const
bool operator< (const Vector3 &other) const
Vector3 operator+ (const Vector3 &other) const
Vector3operator+= (const Vector3 &other)
const double & operator[] (const int index) const
double & operator[] (const int index)
const double & getX () const
const double & getY () const
const double & getZ () const
Spherical toSpherical (const bool toDegree=true) const
double length () const
Vector3 norm () const
double dot (const Vector3 &other) const
double dotAngle (const Vector3 &other, const bool toDegree=true) const
Vector3 cross (const Vector3 &other) const
double crossAngle (const Vector3 &other, const bool toDegree=true) const

Static Public Member Functions

static Vector3 fromSpherical (const Spherical &spherical, const bool fromDegree=true)

Friends

std::ostream & operator<< (std::ostream &out, const Vector3 &vector)
QDebug operator<< (QDebug stream, const Vector3 &vector)
QTextStream & operator>> (QTextStream &stream, Vector3 &vector)
QTextStream & operator<< (QTextStream &stream, const Vector3 &vector)

Constructor & Destructor Documentation

◆ Vector3()

XX::Linalg::Vector3::Vector3 ( const double & x = 0.0,
const double & y = 0.0,
const double & z = 0.0 )

Member Function Documentation

◆ cross()

Vector3 XX::Linalg::Vector3::cross ( const Vector3 & other) const

◆ crossAngle()

double XX::Linalg::Vector3::crossAngle ( const Vector3 & other,
const bool toDegree = true ) const

◆ dot()

double XX::Linalg::Vector3::dot ( const Vector3 & other) const

◆ dotAngle()

double XX::Linalg::Vector3::dotAngle ( const Vector3 & other,
const bool toDegree = true ) const

◆ fromSpherical()

Vector3 XX::Linalg::Vector3::fromSpherical ( const Spherical & spherical,
const bool fromDegree = true )
static

◆ getX()

const double & XX::Linalg::Vector3::getX ( ) const

◆ getY()

const double & XX::Linalg::Vector3::getY ( ) const

◆ getZ()

const double & XX::Linalg::Vector3::getZ ( ) const

◆ length()

double XX::Linalg::Vector3::length ( ) const

◆ norm()

Vector3 XX::Linalg::Vector3::norm ( ) const

◆ operator+()

Vector3 XX::Linalg::Vector3::operator+ ( const Vector3 & other) const

◆ operator+=()

Vector3 & XX::Linalg::Vector3::operator+= ( const Vector3 & other)

◆ operator<()

bool XX::Linalg::Vector3::operator< ( const Vector3 & other) const

◆ operator==()

bool XX::Linalg::Vector3::operator== ( const Vector3 & other) const

◆ operator[]() [1/2]

double & XX::Linalg::Vector3::operator[] ( const int index)

◆ operator[]() [2/2]

const double & XX::Linalg::Vector3::operator[] ( const int index) const

◆ toSpherical()

Spherical XX::Linalg::Vector3::toSpherical ( const bool toDegree = true) const

◆ operator<< [1/3]

QDebug operator<< ( QDebug stream,
const Vector3 & vector )
friend

◆ operator<< [2/3]

QTextStream & operator<< ( QTextStream & stream,
const Vector3 & vector )
friend

◆ operator<< [3/3]

std::ostream & operator<< ( std::ostream & out,
const Vector3 & vector )
friend

◆ operator>>

QTextStream & operator>> ( QTextStream & stream,
Vector3 & vector )
friend

Member Data Documentation

◆ data

double XX::Linalg::Vector3::data[3]

◆ x

double XX::Linalg::Vector3::x

◆ y

double XX::Linalg::Vector3::y

◆ z

double XX::Linalg::Vector3::z

The documentation for this class was generated from the following file: