VRS
A file format for sensor data.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
vrs::PointND< T, N > Struct Template Reference

POD type for of 2, 3 and 4 dimensions points, each for either int32_t, float or double. More...

#include <DataPieceTypes.h>

Public Types

using type = T
 

Public Member Functions

 PointND (const T arr[N])
 
template<typename Z = enable_if<(N == 2), T>>
 PointND (T x, T y)
 2D point constructor
 
template<typename Z = enable_if<(N == 3), T>>
 PointND (T x, T y, T z)
 3D point constructor
 
template<typename W = enable_if<(N == 4), T>>
 PointND (T x, T y, T z, T w)
 4D point constructor
 
bool operator== (const PointND< T, N > &rhs) const
 
bool operator!= (const PointND< T, N > &rhs) const
 
PointNDoperator= (const T rhs[N])
 
T & x ()
 
const T & x () const
 
T & y ()
 
const T & y () const
 
template<typename Z = enable_if<(N > 2), T>>
T & z ()
 
template<typename Z = enable_if<(N > 2), T>>
const T & z () const
 
template<typename W = enable_if<(N > 3), T>>
T & w ()
 
template<typename W = enable_if<(N > 3), T>>
const T & w () const
 
T & operator[] (size_t n)
 
const T & operator[] (size_t n) const
 

Public Attributes

dim [N]
 

Static Public Attributes

static constexpr size_t kSize = N
 

Detailed Description

template<typename T, size_t N>
struct vrs::PointND< T, N >

POD type for of 2, 3 and 4 dimensions points, each for either int32_t, float or double.

Note how the coordinates can be accessed using x(), y(), z() and w() convenience methods, but that the z() and w() methods are only available for larger dimensions.


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