SpatiumLib
|
Point in 3D Cartesian space as homogeneous coordinates. More...
#include <Point3.h>
Public Member Functions | |
Point3 () | |
Constructor. More... | |
Point3 (double x, double y, double z) | |
Constructor. More... | |
Point3 (double xyz[]) | |
Constructor. More... | |
Point3 (const Point3 &other) | |
Copy constructor. More... | |
Point3 (const Matrix &other) | |
Copy constructor. More... | |
Point3 & | operator= (const Point3 &other)=default |
Assignment operator. More... | |
~Point3 ()=default | |
Destructor. More... | |
void | x (double val) |
double | x () const |
void | y (double val) |
double | y () const |
void | z (double val) |
double | z () const |
double * | array () |
Get coordinates as array. More... | |
Point3 | operator- (const Matrix &other) const |
Subtract matrix from point. More... | |
Point3 | operator+ (const Matrix &other) const |
Add matrix to point. More... | |
double | distanceTo (const Point3 &point) const |
Calculate Euclidean distance to point. 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 Point3 &point) |
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 |
Point in 3D Cartesian space as homogeneous coordinates.
A point is a Matrix with 1 column and 4 rows. The first three elements define the X, Y and Z coordinates. The fourth element is always 1.
|
inline |
Constructor.
|
inline |
Constructor.
[in] | x | X coordinate |
[in] | y | Y coordinate |
[in] | z | Z coordinate |
|
inline |
Constructor.
[in] | xyz | Array with X, Y and Z coordinates |
|
inline |
Copy constructor.
[in] | other | Other Point3 |
|
inline |
Copy constructor.
[in] | other | Other matrix |
std::out_of_range | Matrix dimensions out of range |
|
default |
Destructor.
|
inline |
Get coordinates as array.
|
inline |
Calculate Euclidean distance to point.
[in] | point | Other point |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
Output to ostream.