libcuspatial  23.12.00
Loading...
Searching...
No Matches
Public Types | Public Attributes | Friends | List of all members
cuspatial::vec_3d< T > Class Template Reference

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.
 

Detailed Description

template<typename T>
class cuspatial::vec_3d< T >

A generic 3D vector type.

This is the base type used in cuspatial for Cartesian (X/Y/Z) coordinates.

Template Parameters
Tthe base type for the coordinates

Definition at line 40 of file vec_3d.hpp.


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