#include <typeinfo>
#include <assert.h>
#include <stdexcept>
#include <math.h>
#include <complex>
#include <iostream>
#include <type_traits>
#include <mia/core/defines.hh>
#include <mia/core/type_traits.hh>
#include <mia/core/attributetype.hh>
#include <mia/3d/defines3d.hh>
Go to the source code of this file.
Data Structures | |
struct | attribute_type< T3DVector< T > > |
struct | EAttributeType_3d |
struct | less_then< T3DVector< T > > |
class | T3DVector< T > |
A simple 3D vector type. More... | |
Typedefs | |
typedef T3DVector< unsigned int > | C3DBounds |
A unsinged int 3D Vector (used for 3D field sizes) More... | |
typedef T3DVector< double > | C3DDVector |
A double 3D Vector. More... | |
typedef T3DVector< float > | C3DFVector |
A float 3D Vector. More... | |
Functions | |
template<typename T > | |
T3DVector< T > | cross (const T3DVector< T > &a, const T3DVector< T > &b) |
template<class T > | |
double | dot (const T3DVector< T > &a, const T3DVector< T > &b) |
template<class T > | |
double | fabs (const T3DVector< T > &t) |
A way to get the norm of a T3DVector using faba syntax. More... | |
template<class T > | |
bool | operator!= (const T3DVector< T > &a, const T3DVector< T > &b) |
comparison operator not equal More... | |
template<class T > | |
const T3DVector< T > | operator* (const T3DVector< T > &a, const T3DVector< T > &b) |
vector scalar product More... | |
template<class T > | |
const T3DVector< T > | operator* (const T3DVector< T > &a, double f) |
vector multiplication with scalar More... | |
template<class T > | |
const T3DVector< T > | operator* (double f, const T3DVector< T > &a) |
vector multiplication with scalar reverse order More... | |
template<class T > | |
const T3DVector< T > | operator+ (const T3DVector< T > &a, const T3DVector< T > &b) |
vector addition More... | |
template<typename T , typename S > | |
T3DVector< T > | operator+ (const T3DVector< T > &a, const T3DVector< S > &b) |
template<class T > | |
const T3DVector< T > | operator- (const T3DVector< T > &a, const T3DVector< T > &b) |
vector subtraction More... | |
template<class T > | |
const T3DVector< T > | operator/ (const T3DVector< T > &a, double f) |
vector division by scalar More... | |
template<class T > | |
const T3DVector< T > | operator/ (const T3DVector< T > &a, const T3DVector< T > &b) |
template<class T > | |
bool | operator< (const T3DVector< T > &a, const T3DVector< T > &b) |
comparison less, returns true if all components of a are less then those of b More... | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const T3DVector< T > &v) |
stream output operator for 3DVector More... | |
template<class T > | |
bool | operator<= (const T3DVector< T > &b, const T3DVector< T > &a) |
comparison less or equal, returns true if all components of a are less or equal then those of b More... | |
template<class T > | |
bool | operator== (const T3DVector< T > &a, const T3DVector< T > &b) |
comparison operator equal More... | |
template<class T > | |
bool | operator> (const T3DVector< T > &b, const T3DVector< T > &a) |
comparison greater, returns true if all components of a are greater then those of b More... | |
template<class T > | |
bool | operator>= (const T3DVector< T > &b, const T3DVector< T > &a) |
comparison greater or equal, returns true if all components of a are greater or equal then those of b More... | |
template<class T > | |
std::istream & | operator>> (std::istream &is, T3DVector< T > &v) |
stream input operator for 3DVector More... | |
template<class T > | |
const T3DVector< T > | operator^ (const T3DVector< T > &a, const T3DVector< T > &b) |
3D vector cross product More... | |
A unsinged int 3D Vector (used for 3D field sizes)
Definition at line 352 of file 3d/vector.hh.
typedef T3DVector<double> C3DDVector |
A double 3D Vector.
Definition at line 349 of file 3d/vector.hh.
typedef T3DVector<float> C3DFVector |
A float 3D Vector.
Definition at line 346 of file 3d/vector.hh.
Cross product of two 3D vectors
a | |
b |
Definition at line 322 of file 3d/vector.hh.
References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.
Definition at line 339 of file 3d/vector.hh.
References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.
double fabs | ( | const T3DVector< T > & | t | ) |
A way to get the norm of a T3DVector using faba syntax.
Definition at line 333 of file 3d/vector.hh.
References T3DVector< T >::norm().
Referenced by kmeans_step(), kmeans_step_with_fixed_centers(), and FMedianMAD::operator()().
comparison operator not equal
Definition at line 469 of file 3d/vector.hh.
|
inline |
vector scalar product
Definition at line 406 of file 3d/vector.hh.
References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.
vector multiplication with scalar
Definition at line 435 of file 3d/vector.hh.
vector multiplication with scalar reverse order
Definition at line 445 of file 3d/vector.hh.
|
inline |
vector addition
Definition at line 375 of file 3d/vector.hh.
T3DVector<T> operator+ | ( | const T3DVector< T > & | a, |
const T3DVector< S > & | b | ||
) |
Add operator for two 3D vectors that hold different data types Target type is taken from the lhs operator
type | of the vector values |
a | |
b |
Definition at line 390 of file 3d/vector.hh.
References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.
|
inline |
vector subtraction
Definition at line 398 of file 3d/vector.hh.
vector division by scalar
Definition at line 413 of file 3d/vector.hh.
|
inline |
component wise division of two vectors
Definition at line 426 of file 3d/vector.hh.
References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.
comparison less, returns true if all components of a are less then those of b
Definition at line 476 of file 3d/vector.hh.
std::ostream& operator<< | ( | std::ostream & | os, |
const T3DVector< T > & | v | ||
) |
stream output operator for 3DVector
Definition at line 358 of file 3d/vector.hh.
References T3DVector< T >::write().
comparison less or equal, returns true if all components of a are less or equal then those of b
Definition at line 482 of file 3d/vector.hh.
comparison operator equal
Definition at line 462 of file 3d/vector.hh.
References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.
comparison greater, returns true if all components of a are greater then those of b
Definition at line 488 of file 3d/vector.hh.
References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.
comparison greater or equal, returns true if all components of a are greater or equal then those of b
Definition at line 494 of file 3d/vector.hh.
References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.
std::istream& operator>> | ( | std::istream & | is, |
T3DVector< T > & | v | ||
) |
stream input operator for 3DVector
Definition at line 366 of file 3d/vector.hh.
References T3DVector< T >::read().
|
inline |
3D vector cross product
Definition at line 453 of file 3d/vector.hh.
References T3DVector< T >::x, T3DVector< T >::y, and T3DVector< T >::z.