A generic 3D vector type. More...
#include <vec_3d.hpp>
Public Types | |
using | value_type = T |
Public Attributes | |
value_type | x |
value_type | y |
value_type | z |
Friends | |
std::ostream & | operator<< (std::ostream &os, cuspatial::vec_3d< T > const &vec) |
Output stream operator for vec_3d<T> for human-readable formatting. | |
bool CUSPATIAL_HOST_DEVICE | operator== (vec_3d< T > const &lhs, vec_3d< T > const &rhs) |
Compare two 3D vectors for equality. | |
vec_3d< T > CUSPATIAL_HOST_DEVICE | operator+ (vec_3d< T > const &a, vec_3d< T > const &b) |
Element-wise addition of two 3D vectors. | |
vec_3d< T > CUSPATIAL_HOST_DEVICE | operator- (vec_3d< T > const &a, vec_3d< T > const &b) |
Element-wise subtraction of two 3D vectors. | |
vec_3d< T > CUSPATIAL_HOST_DEVICE | operator- (vec_3d< T > const &a) |
Invert a 3D vector. | |
vec_3d< T > CUSPATIAL_HOST_DEVICE | operator* (vec_3d< T > vec, T const &r) |
Scale a 3D vector by a factor r . | |
vec_3d< T > CUSPATIAL_HOST_DEVICE | operator* (T const &r, vec_3d< T > vec) |
Scale a 3d vector by ratio r . | |
vec_3d< T > &CUSPATIAL_HOST_DEVICE | operator+= (vec_3d< T > &a, vec_3d< T > const &b) |
Translate a 3D point. | |
vec_3d< T > &CUSPATIAL_HOST_DEVICE | operator-= (vec_3d< T > &a, vec_3d< T > const &b) |
Translate a 3D point. | |
bool CUSPATIAL_HOST_DEVICE | operator< (vec_3d< T > const &lhs, vec_3d< T > const &rhs) |
Less than operator for two 3D points. | |
bool CUSPATIAL_HOST_DEVICE | operator> (vec_3d< T > const &lhs, vec_3d< T > const &rhs) |
Greater than operator for two 3D points. | |
bool CUSPATIAL_HOST_DEVICE | operator<= (vec_3d< T > const &lhs, vec_3d< T > const &rhs) |
Less than or equal to operator for two 3D points. | |
bool CUSPATIAL_HOST_DEVICE | operator>= (vec_3d< T > const &lhs, vec_3d< T > const &rhs) |
Greater than or equal to operator for two 3D points. | |
A generic 3D vector type.
This is the base type used in cuspatial for Cartesian (X/Y/Z) coordinates.
T | the base type for the coordinates |
Definition at line 40 of file vec_3d.hpp.