SpatiumLib
|
#include <Vector2.h>
Public Member Functions | |
Vector2 () | |
Constructor. More... | |
Vector2 (double x, double y) | |
Constructor. More... | |
Vector2 (double xy[]) | |
Constructor. More... | |
Vector2 (std::vector< double > vector) | |
Constructor. More... | |
Vector2 (const Vector2 &other) | |
Copy constructor. More... | |
Vector2 (const Matrix &other) | |
Copy constructor. More... | |
Vector2 & | operator= (Vector2 other) |
Assignment operator. More... | |
~Vector2 ()=default | |
Desctructor. More... | |
void | x (double val) |
double | x () const |
void | y (double val) |
double | y () const |
double * | array () |
Get coordinates as array. More... | |
Vector2 | operator+ (const Matrix &other) const |
Add matrix to vector. More... | |
Vector2 | operator- (const Matrix &other) const |
Subtract matrix from vector. More... | |
Vector2 | operator * (double scalar) const |
Multiply vector by scalar. More... | |
Vector2 | operator/ (double scalar) const |
Divide by scalar. More... | |
double | length () const |
Calculate length of vector (magnitude). More... | |
void | normalize () |
Normalize the vector. A normalized vector has length = 1. More... | |
Vector2 | normalized () const |
Get normalized copy of vector. A normalized vector has length = 1. More... | |
double | dot (const Vector2 &other) const |
Calculate dot product with vector. Dot product = 0: vectors are orthogonal (perpendicular). Dot product = |a||b| (1 if normalized): vectors are parallel. More... | |
double | angle (const Vector2 &other) const |
Calculate angle with vector. More... | |
Vector2 | project (const Vector2 &other) const |
Project vector onto vector. More... | |
![]() | |
Vector (size_t rows) | |
Constructor. More... | |
Vector (std::initializer_list< double > array) | |
Constructor. More... | |
Vector (const std::vector< double > &vector) | |
Constructor. More... | |
Vector (const Vector &other) | |
Copy constructor. More... | |
Vector (const Matrix &other) | |
Copy constructor. More... | |
Vector & | operator= (const Vector &other)=default |
Assignment operator. More... | |
~Vector ()=default | |
Destructor. More... | |
double | operator() (size_t row) const |
Access element by value. More... | |
double & | operator() (size_t row) |
Access element by reference. More... | |
Vector | operator+ (const Matrix &other) const |
Add matrix to vector. More... | |
Vector | operator- (const Matrix &other) const |
Subtract matrix from vector. More... | |
Vector | operator * (double scalar) const |
Multiply by scalar. More... | |
Vector | operator/ (double scalar) const |
Divide by scalar. More... | |
void | resize (size_t rows) |
Resize. More... | |
![]() | |
Matrix (size_t rows, size_t cols) | |
Constructor. More... | |
Matrix (std::initializer_list< std::initializer_list< double >> array) | |
Constructor. More... | |
bool | operator== (const Matrix &other) const |
Compare operator. Is equal. More... | |
bool | operator!= (const Matrix &other) const |
Compare operator. Is unequal. More... | |
size_t | rows () const |
Get the number of rows. More... | |
size_t | cols () const |
Get the number of columns. More... | |
std::vector< double > | data () const |
Get all matrix elements. More... | |
void | clear () |
Clear all matrix elements. More... | |
Matrix | transposed () const |
Get transposed matrix. More... | |
double | determinant () const |
Calculate determinant. More... | |
double | minor (size_t row, size_t col) const |
Calulcate minor. More... | |
Matrix | omit (size_t row, size_t col) const |
Omit a given row and column. More... | |
Matrix | inverse () const |
Calculate inverse of matrix. More... | |
double | operator() (size_t row, size_t col) const |
Access element by value. More... | |
double & | operator() (size_t row, size_t col) |
Access element by reference. More... | |
Matrix | operator+ (const Matrix &other) const |
Add by matrix. More... | |
Matrix | operator- (const Matrix &other) const |
Subtract by matrix. More... | |
Matrix | operator * (const Matrix &other) const |
Multiply by matrix. More... | |
Matrix | operator * (double scalar) const |
Multiply by scalar. More... | |
Matrix | operator/ (double scalar) const |
Divide by scalar. More... | |
void | resize (size_t rows, size_t cols) |
Resize. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Vector2 &vector) |
Output to ostream. More... | |
Additional Inherited Members | |
![]() | |
static Matrix | identity (size_t order) |
Construct identity matrix. More... | |
![]() | |
double | determinant (const Matrix &matrix) const |
Calculate determinant. More... | |
![]() | |
size_t | m_rows |
size_t | m_cols |
std::vector< double > | m_data |
Vector in 2D space.
Column vector with 3 rows. The first two elements define the X and Y coordinates. The third element is always 0.
|
inline |
Constructor.
|
inline |
Constructor.
[in] | x | X coordinate |
[in] | y | Y coordinate |
|
inline |
Constructor.
[in] | xy | Array with X and Y coordinates |
|
inline |
Constructor.
[in] | vector | STD vector |
|
inline |
Copy constructor.
|
inline |
Copy constructor.
[in] | other | Other matrix |
std::out_of_range | Matrix dimensions out of range |
|
default |
Desctructor.
|
inline |
Calculate angle with vector.
[in] | other | Other vector |
|
inline |
Get coordinates as array.
|
inline |
Calculate dot product with vector. Dot product = 0: vectors are orthogonal (perpendicular). Dot product = |a||b| (1 if normalized): vectors are parallel.
[in] | other | Other vector |
|
inline |
Calculate length of vector (magnitude).
|
inline |
Normalize the vector. A normalized vector has length = 1.
|
inline |
Get normalized copy of vector. A normalized vector has length = 1.
|
inline |
Multiply vector by scalar.
[in] | scalar |
|
inline |
Divide by scalar.
[in] | scalar | Scalar |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
Output to ostream.