46 coordinate_system(coordinate_system_)
53 coordinate_system(coordinate_system_)
61 coordinate_system(coordinate_system_)
67 point({std::numeric_limits<double>::signaling_NaN(),std::numeric_limits<double>::signaling_NaN(), std::numeric_limits<double>::signaling_NaN()}),
68 coordinate_system(coordinate_system_)
77 point({std::numeric_limits<double>::signaling_NaN(),std::numeric_limits<double>::signaling_NaN()}),
78 coordinate_system(coordinate_system_)
88 coordinate_system(coordinate_system_)
99 for (
unsigned int i = 0; i < dim; ++i)
100 point[i] = point_[i];
107 const std::array<double,dim> array = point_.
get_array();
108 double dot_product = 0;
109 for (
unsigned int i = 0; i < dim; ++i)
110 dot_product += point[i] * array[i];
120 for (
unsigned int i = 0; i < dim; ++i)
121 array[i] += point[i] * scalar;
150 for (
unsigned int i = 0; i < dim; ++i)
159 for (
unsigned int i = 0; i < dim; ++i)
160 point[i] += point_[i];
169 for (
unsigned int i = 0; i < dim; ++i)
170 point[i] -= point_[i];
182 WBAssertThrow(index <= dim,
"Can't ask for element " << index <<
" in an point with dimension " << dim <<
".");
194 WBAssertThrow(index <= dim,
"Can't ask for element " << index <<
" in an point with dimension " << dim <<
".");
200 const std::array<double,dim> &
211 return coordinate_system;
227 return (point[0] * point[0]) + (point[1] * point[1]);
234 return (point[0] * point[0]) + (point[1] * point[1]) + (point[2] * point[2]);
const double & operator[](const unsigned int index) const
Point< dim > & operator+=(const Point< dim > &point)
double norm_square() const
Point< dim > & operator=(const Point< dim > &point)
CoordinateSystem get_coordinate_system() const
Point< dim > operator+(const Point< dim > &point) const
const std::array< double, dim > & get_array() const
double operator*(const Point< dim > &point) const
#define WBAssertThrow(condition, message)
Point< dim > & operator*=(const double scalar)
Point< dim > operator-(const Point< dim > &point) const
Point< dim > & operator-=(const Point< dim > &point)