Rosetta
Public Types | Public Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
numeric::xyzVector< T > Class Template Reference

xyzVector: Fast (x,y,z)-coordinate numeric vector More...

#include <xyzVector.hh>

Inheritance diagram for numeric::xyzVector< T >:
Inheritance graph
[legend]

Public Types

typedef T Value
 
typedef TReference
 
typedef T const & ConstReference
 
typedef TPointer
 
typedef T const * ConstPointer
 
typedef T value_type
 
typedef Treference
 
typedef T const & const_reference
 
typedef Tpointer
 
typedef T const * const_pointer
 
typedef void iterator_category
 
typedef void difference_type
 

Public Member Functions

 xyzVector ()
 Default constructor. More...
 
 xyzVector (xyzVector const &v)
 Copy constructor. More...
 
template<typename U >
 xyzVector (xyzVector< U > const &v)
 Copy constructor. More...
 
 xyzVector (Value const &t)
 Uniform value constructor. More...
 
 xyzVector (Value const &x_a, Value const &y_a, Value const &z_a)
 Triple value constructor. More...
 
template<typename U >
 xyzVector (U const *p)
 Pointer to contiguous values constructor. More...
 
 ~xyzVector ()
 Destructor. More...
 
xyzVectoroperator= (xyzVector const &v)
 Copy assignment. More...
 
template<typename U >
xyzVectoroperator= (xyzVector< U > const &v)
 Copy assignment. More...
 
template<typename U >
xyzVectoroperator= (U const *p)
 Assignment from pointer to contiguous values. More...
 
template<typename U >
xyzVectoroperator+= (xyzVector< U > const &v)
 += xyzVector More...
 
template<typename U >
xyzVectoroperator-= (xyzVector< U > const &v)
 -= xyzVector More...
 
template<typename U >
xyzVectorscaled_assign (Value const &t, xyzVector< U > const &v)
 Assign Value * xyzVector. More...
 
template<typename U >
xyzVectorscaled_add (Value const &t, xyzVector< U > const &v)
 Add Value * xyzVector. More...
 
template<typename U >
xyzVectorscaled_sub (Value const &t, xyzVector< U > const &v)
 Subtract Value * xyzVector. More...
 
xyzVectoroperator= (Value const &t)
 = Value More...
 
xyzVectoroperator+= (Value const &t)
 += Value More...
 
xyzVectoroperator-= (Value const &t)
 -= Value More...
 
xyzVectoroperator*= (Value const &t)
 *= Value More...
 
xyzVectoroperator/= (Value const &t)
 /= Value More...
 
xyzVectorassign (Value const &x_a, Value const &y_a, Value const &z_a)
 Triple value assignment. More...
 
bool is_finite () const
 Test if there's any non-finite (inf, NAN) values in the vector. More...
 
std::string to_string () const
 to_string, useful for utility exits More...
 
xyzVectorclear ()
 Clear. More...
 
xyzVectorzero ()
 Zero. More...
 
xyzVectornegate ()
 Negate. More...
 
xyzVector operator- () const
 -xyzVector (negated copy) More...
 
xyzVector negated () const
 Negated copy. More...
 
void negated (xyzVector &a) const
 Negated: Return via argument (slightly faster) More...
 
xyzVectormin (xyzVector const &v)
 Set minimum coordinates wrt another xyzVector. More...
 
xyzVectormax (xyzVector const &v)
 Set maximum coordinates wrt another xyzVector. More...
 
xyzVectornormalize ()
 Normalize. More...
 
T minimum_value () const
 get the lowest of the three values in the vector More...
 
T maximum_value () const
 get the highest of the three values in the vector More...
 
void normalized (xyzVector &a) const
 Normalized. More...
 
xyzVectornormalize_or_zero ()
 Normalize: zero xyzVector if length is zero. More...
 
void normalized_or_zero (xyzVector &a) const
 Normalized: zero xyzVector if length is zero. More...
 
xyzVectornormalize_any ()
 Normalize: arbitrary normalized xyzVector if length is zero. More...
 
void normalized_any (xyzVector &a) const
 Normalized: arbitrary normalized xyzVector if length is zero. More...
 
xyzVectornormalize (Value const &length_a)
 Normalize to a length. More...
 
void normalized (Value const &length_a, xyzVector &a) const
 Normalized to a length. More...
 
xyzVectornormalize_or_zero (Value const &length_a)
 Normalize to a length: zero xyzVector if length is zero. More...
 
void normalized_or_zero (Value const &length_a, xyzVector &a) const
 Normalized to a length: zero xyzVector if length is zero. More...
 
xyzVectornormalize_any (Value const &length_a)
 Normalize to a length: arbitrary normalized xyzVector if length is zero. More...
 
void normalized_any (Value const &length_a, xyzVector &a) const
 Normalized to a length: arbitrary normalized xyzVector if length is zero. More...
 
xyzVector normalized () const
 Normalized copy. More...
 
xyzVector normalized_or_zero () const
 Normalized copy: Zero xyzVector if length is zero. More...
 
xyzVector normalized_any () const
 Normalized copy: Arbitrary normalized xyzVector if length is zero. More...
 
xyzVector normalized (Value const &length_a) const
 Normalized to a length copy. More...
 
xyzVector normalized_or_zero (Value const &length_a) const
 Normalized to a length copy: Zero xyzVector if length is zero. More...
 
xyzVector normalized_any (Value const &length_a) const
 Normalized to a length copy: Arbitrary normalized xyzVector if length is zero. More...
 
xyzVectorproject_normal (xyzVector const &v)
 Project normal. More...
 
xyzVector projected_normal (xyzVector const &v) const
 Projected normal copy. More...
 
void projected_normal (xyzVector const &v, xyzVector &a) const
 Projected normal. More...
 
xyzVectorproject_parallel (xyzVector const &v)
 Project parallel. More...
 
xyzVector projected_parallel (xyzVector const &v) const
 Projected parallel copy. More...
 
void projected_parallel (xyzVector const &v, xyzVector &a)
 Projected parallel. More...
 
Value distance (xyzVector const &v) const
 Distance. More...
 
Value distance_squared (xyzVector const &v) const
 Distance. More...
 
Value dot (xyzVector const &v) const
 Distance squared. More...
 
Value dot_product (xyzVector const &v) const
 Dot product. More...
 
Value inner_product (xyzVector const &v) const
 Inner product ( == dot product ) More...
 
xyzVector cross (xyzVector const &v) const
 Cross product. More...
 
xyzVector cross_product (xyzVector const &v) const
 Cross product. More...
 
bool is_zero () const
 Is zero? More...
 
bool is_normalized () const
 Is exactly normalized? More...
 
bool is_normalized (Value const &tol) const
 Is normalized to within a tolerance? More...
 
bool is_unit () const
 Is exactly a unit vector? More...
 
bool is_unit (Value const &tol) const
 Is a unit vector to within a tolerance? More...
 
Value const & x () const
 Value x const. More...
 
Valuex ()
 Value x. More...
 
Value const & y () const
 Value y const. More...
 
Valuey ()
 Value y. More...
 
Value const & z () const
 Value z const. More...
 
Valuez ()
 Value z. More...
 
Value length () const
 Length. More...
 
Value length_squared () const
 Length squared. More...
 
Value norm () const
 Norm. More...
 
Value norm_squared () const
 Norm squared. More...
 
Value magnitude () const
 Magnitude. More...
 
Value magnitude_squared () const
 Magnitude squared. More...
 
void x (Value const &x_a)
 x assignment More...
 
void y (Value const &y_a)
 y assignment More...
 
void z (Value const &z_a)
 z assignment More...
 
Value const & operator[] (int const i) const
 xyzVector[ i ] const: 0-based index More...
 
Valueoperator[] (int const i)
 xyzVector[ i ]: 0-based index More...
 
Value const & operator() (int const i) const
 xyzVector( i ) const: 1-based index More...
 
Valueoperator() (int const i)
 xyzVector( i ): 1-based index More...
 
bool equal_length (xyzVector const &v)
 Equal length? More...
 
bool not_equal_length (xyzVector const &v)
 Not equal length? More...
 
template<typename U >
bool not_equal_length (xyzVector< U > const &a, xyzVector< U > const &b)
 Not equal length? More...
 
bool longer (xyzVector const &v)
 Longer? More...
 
bool longer_or_equal (xyzVector const &v)
 Longer or equal length? More...
 
bool shorter (xyzVector const &v)
 Shorter? More...
 
bool shorter_or_equal (xyzVector const &v)
 Shorter or equal length? More...
 

Static Private Member Functions

static Value square (Value const &t)
 square( t ) == t * t More...
 

Private Attributes

Value x_
 Coordinates of the 3 coordinate vector. More...
 
Value y_
 
Value z_
 

Friends

template<typename >
class xyzVector
 
template<typename >
class xyzMatrix
 
xyzVector< Toperator* (xyzMatrix< T > const &m, xyzVector< T > const &v)
 
xyzVector< Tproduct (xyzMatrix< T > const &m, xyzVector< T > const &v)
 xyzMatrix * xyzVector product More...
 
xyzVector< T > & inplace_product (xyzMatrix< T > const &m, xyzVector< T > &v)
 xyzMatrix * xyzVector in-place product More...
 
xyzVector< Ttranspose_product (xyzMatrix< T > const &m, xyzVector< T > const &v)
 xyzMatrix^T * xyzVector product More...
 
xyzVector< T > & inplace_transpose_product (xyzMatrix< T > const &m, xyzVector< T > &v)
 xyzMatrix^T * xyzVector in-place transpose product More...
 
xyzMatrix< Touter_product (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector xyzVector outer product More...
 
xyzMatrix< Tprojection_matrix (xyzVector< T > const &v)
 geometric center More...
 
xyzMatrix< Trotation_matrix (xyzVector< T > const &axis, T const &theta)
 Rotation matrix for rotation about an axis by an angle in radians. More...
 
xyzVector operator+ (xyzVector const &a, xyzVector const &b)
 xyzVector + xyzVector More...
 
xyzVector operator- (xyzVector const &a, xyzVector const &b)
 xyzVector - xyzVector More...
 
xyzVector operator+ (xyzVector const &v, Value const &t)
 xyzVector + Value More...
 
xyzVector operator+ (Value const &t, xyzVector const &v)
 Value + xyzVector. More...
 
xyzVector operator- (xyzVector const &v, Value const &t)
 xyzVector - Value More...
 
xyzVector operator- (Value const &t, xyzVector const &v)
 Value - xyzVector. More...
 
xyzVector operator* (xyzVector const &v, Value const &t)
 xyzVector * Value More...
 
xyzVector operator* (Value const &t, xyzVector const &v)
 Value * xyzVector. More...
 
xyzVector operator/ (xyzVector const &v, Value const &t)
 xyzVector / Value More...
 
template<typename U >
void add (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &r)
 Add: xyzVector + xyzVector. More...
 
template<typename U >
void add (xyzVector< U > const &v, U const &t, xyzVector< U > &r)
 Add: xyzVector + Value. More...
 
template<typename U >
void add (U const &t, xyzVector< U > const &v, xyzVector< U > &r)
 Add: Value + xyzVector. More...
 
template<typename U >
void subtract (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &r)
 Subtract: xyzVector - xyzVector. More...
 
template<typename U >
void subtract (xyzVector< U > const &v, U const &t, xyzVector< U > &r)
 Subtract: xyzVector - Value. More...
 
template<typename U >
void subtract (U const &t, xyzVector< U > const &v, xyzVector< U > &r)
 Subtract: Value - xyzVector. More...
 
template<typename U >
void multiply (xyzVector< U > const &v, U const &t, xyzVector< U > &r)
 Multiply: xyzVector * Value. More...
 
template<typename U >
void multiply (U const &t, xyzVector< U > const &v, xyzVector< U > &r)
 Multiply: Value * xyzVector. More...
 
template<typename U >
void divide (xyzVector< U > const &v, U const &t, xyzVector< U > &r)
 Divide: xyzVector / Value. More...
 
template<typename U >
xyzVector< U > min (xyzVector< U > const &a, xyzVector< U > const &b)
 xyzVector with min coordinates of two xyzVectors More...
 
template<typename U >
xyzVector< U > max (xyzVector< U > const &a, xyzVector< U > const &b)
 xyzVector with max coordinates of two xyzVectors More...
 
template<typename U >
dot (xyzVector< U > const &a, xyzVector< U > const &b)
 Dot product. More...
 
template<typename U >
dot_product (xyzVector< U > const &a, xyzVector< U > const &b)
 Dot product. More...
 
template<typename U >
inner_product (xyzVector< U > const &a, xyzVector< U > const &b)
 Inner product ( == dot product ) More...
 
template<typename U >
xyzVector< U > cross (xyzVector< U > const &a, xyzVector< U > const &b)
 Cross product. More...
 
template<typename U >
xyzVector< U > cross_product (xyzVector< U > const &a, xyzVector< U > const &b)
 Cross product. More...
 
template<typename U >
void cross (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &c)
 Cross product: Return via argument (slightly faster) More...
 
template<typename U >
void cross_product (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &c)
 Cross product: Return via argument (slightly faster) More...
 
template<typename U >
xyzVector< U > midpoint (xyzVector< U > const &a, xyzVector< U > const &b)
 Midpoint of 2 xyzVectors. More...
 
template<typename U >
void midpoint (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &m)
 Midpoint of 2 xyzVectors: Return via argument (slightly faster) More...
 
template<typename U >
xyzVector< U > center (xyzVector< U > const &a, xyzVector< U > const &b)
 Center of 2 xyzVectors. More...
 
template<typename U >
void center (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > &m)
 Center of 2 xyzVectors: Return via argument (slightly faster) More...
 
template<typename U >
xyzVector< U > center (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c)
 Center of 3 xyzVectors. More...
 
template<typename U >
void center (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c, xyzVector< U > &m)
 Center of 3 xyzVectors: Return via argument (slightly faster) More...
 
template<typename U >
xyzVector< U > center (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c, xyzVector< U > const &d)
 Center of 4 xyzVectors. More...
 
template<typename U >
void center (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c, xyzVector< U > const &d, xyzVector< U > &m)
 Center of 4 xyzVectors: Return via argument (slightly faster) More...
 
template<typename U >
xyzVector< U > update_operation (xyzVector< U > const &a, xyzVector< U > const &b)
 
template<typename U >
xyzVector< U > update_5way_operation (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c, xyzVector< U > const &d, xyzVector< U > const &e)
 
bool operator== (xyzVector const &a, xyzVector const &b)
 xyzVector == xyzVector More...
 
bool operator!= (xyzVector const &a, xyzVector const &b)
 xyzVector != xyzVector More...
 
bool operator< (xyzVector const &a, xyzVector const &b)
 xyzVector < xyzVector More...
 
bool operator<= (xyzVector const &a, xyzVector const &b)
 xyzVector <= xyzVector More...
 
bool operator>= (xyzVector const &a, xyzVector const &b)
 xyzVector >= xyzVector More...
 
bool operator> (xyzVector const &a, xyzVector const &b)
 xyzVector > xyzVector More...
 
bool operator== (xyzVector const &v, Value const &t)
 xyzVector == Value More...
 
bool operator!= (xyzVector const &v, Value const &t)
 xyzVector != Value More...
 
bool operator< (xyzVector const &v, Value const &t)
 xyzVector < Value More...
 
bool operator<= (xyzVector const &v, Value const &t)
 xyzVector <= Value More...
 
bool operator>= (xyzVector const &v, Value const &t)
 xyzVector >= Value More...
 
bool operator> (xyzVector const &v, Value const &t)
 xyzVector > Value More...
 
bool operator== (Value const &t, xyzVector const &v)
 Value == xyzVector. More...
 
bool operator!= (Value const &t, xyzVector const &v)
 Value != xyzVector. More...
 
bool operator< (Value const &t, xyzVector const &v)
 Value < xyzVector. More...
 
bool operator<= (Value const &t, xyzVector const &v)
 Value <= xyzVector. More...
 
bool operator>= (Value const &t, xyzVector const &v)
 Value >= xyzVector. More...
 
bool operator> (Value const &t, xyzVector const &v)
 Value > xyzVector. More...
 
template<typename U >
bool equal_length (xyzVector< U > const &a, xyzVector< U > const &b)
 Equal length? More...
 

Detailed Description

template<typename T>
class numeric::xyzVector< T >

xyzVector: Fast (x,y,z)-coordinate numeric vector

Member Typedef Documentation

◆ const_pointer

template<typename T >
typedef T const* numeric::xyzVector< T >::const_pointer

◆ const_reference

template<typename T >
typedef T const& numeric::xyzVector< T >::const_reference

◆ ConstPointer

template<typename T >
typedef T const* numeric::xyzVector< T >::ConstPointer

◆ ConstReference

template<typename T >
typedef T const& numeric::xyzVector< T >::ConstReference

◆ difference_type

template<typename T >
typedef void numeric::xyzVector< T >::difference_type

◆ iterator_category

template<typename T >
typedef void numeric::xyzVector< T >::iterator_category

◆ Pointer

template<typename T >
typedef T* numeric::xyzVector< T >::Pointer

◆ pointer

template<typename T >
typedef T* numeric::xyzVector< T >::pointer

◆ Reference

template<typename T >
typedef T& numeric::xyzVector< T >::Reference

◆ reference

template<typename T >
typedef T& numeric::xyzVector< T >::reference

◆ Value

template<typename T >
typedef T numeric::xyzVector< T >::Value

◆ value_type

template<typename T >
typedef T numeric::xyzVector< T >::value_type

Constructor & Destructor Documentation

◆ xyzVector() [1/6]

template<typename T >
numeric::xyzVector< T >::xyzVector ( )
inline

Default constructor.

Note
Values are uninitialized for efficiency

◆ xyzVector() [2/6]

template<typename T >
numeric::xyzVector< T >::xyzVector ( xyzVector< T > const &  v)
inline

Copy constructor.

◆ xyzVector() [3/6]

template<typename T >
template<typename U >
numeric::xyzVector< T >::xyzVector ( xyzVector< U > const &  v)
inline

Copy constructor.

◆ xyzVector() [4/6]

template<typename T >
numeric::xyzVector< T >::xyzVector ( Value const &  t)
inlineexplicit

Uniform value constructor.

◆ xyzVector() [5/6]

template<typename T >
numeric::xyzVector< T >::xyzVector ( Value const &  x_a,
Value const &  y_a,
Value const &  z_a 
)
inline

Triple value constructor.

◆ xyzVector() [6/6]

template<typename T >
template<typename U >
numeric::xyzVector< T >::xyzVector ( U const *  p)
inlineexplicit

Pointer to contiguous values constructor.

Note
U must be assignable to a Value
Warning
No way to check that argument points to three values
Argument missing an & operator will quietly call the uniform value constructor

◆ ~xyzVector()

template<typename T >
numeric::xyzVector< T >::~xyzVector ( )
inline

Destructor.

Member Function Documentation

◆ assign()

template<typename T >
xyzVector& numeric::xyzVector< T >::assign ( Value const &  x_a,
Value const &  y_a,
Value const &  z_a 
)
inline

◆ clear()

template<typename T >
xyzVector& numeric::xyzVector< T >::clear ( )
inline

◆ cross()

template<typename T >
xyzVector numeric::xyzVector< T >::cross ( xyzVector< T > const &  v) const
inline

◆ cross_product()

template<typename T >
xyzVector numeric::xyzVector< T >::cross_product ( xyzVector< T > const &  v) const
inline

◆ distance()

template<typename T >
Value numeric::xyzVector< T >::distance ( xyzVector< T > const &  v) const
inline

◆ distance_squared()

template<typename T >
Value numeric::xyzVector< T >::distance_squared ( xyzVector< T > const &  v) const
inline

◆ dot()

template<typename T >
Value numeric::xyzVector< T >::dot ( xyzVector< T > const &  v) const
inline

◆ dot_product()

template<typename T >
Value numeric::xyzVector< T >::dot_product ( xyzVector< T > const &  v) const
inline

◆ equal_length()

template<typename T >
bool numeric::xyzVector< T >::equal_length ( xyzVector< T > const &  v)
inline

◆ inner_product()

template<typename T >
Value numeric::xyzVector< T >::inner_product ( xyzVector< T > const &  v) const
inline

◆ is_finite()

template<typename T >
bool numeric::xyzVector< T >::is_finite ( ) const
inline

Test if there's any non-finite (inf, NAN) values in the vector.

References utility::isfinite(), numeric::xyzVector< T >::x_, numeric::xyzVector< T >::y_, and numeric::xyzVector< T >::z_.

◆ is_normalized() [1/2]

template<typename T >
bool numeric::xyzVector< T >::is_normalized ( ) const
inline

Is exactly normalized?

References numeric::xyzVector< T >::length_squared().

◆ is_normalized() [2/2]

template<typename T >
bool numeric::xyzVector< T >::is_normalized ( Value const &  tol) const
inline

Is normalized to within a tolerance?

References numeric::xyzVector< T >::length_squared(), and loops_kic::tol.

◆ is_unit() [1/2]

template<typename T >
bool numeric::xyzVector< T >::is_unit ( ) const
inline

Is exactly a unit vector?

References numeric::xyzVector< T >::length_squared().

Referenced by numeric::ccd_angle().

◆ is_unit() [2/2]

template<typename T >
bool numeric::xyzVector< T >::is_unit ( Value const &  tol) const
inline

Is a unit vector to within a tolerance?

References numeric::xyzVector< T >::length_squared(), and loops_kic::tol.

◆ is_zero()

template<typename T >
bool numeric::xyzVector< T >::is_zero ( ) const
inline

◆ length()

template<typename T >
Value numeric::xyzVector< T >::length ( ) const
inline

◆ length_squared()

template<typename T >
Value numeric::xyzVector< T >::length_squared ( ) const
inline

◆ longer()

template<typename T >
bool numeric::xyzVector< T >::longer ( xyzVector< T > const &  v)
inline

◆ longer_or_equal()

template<typename T >
bool numeric::xyzVector< T >::longer_or_equal ( xyzVector< T > const &  v)
inline

◆ magnitude()

template<typename T >
Value numeric::xyzVector< T >::magnitude ( ) const
inline

◆ magnitude_squared()

template<typename T >
Value numeric::xyzVector< T >::magnitude_squared ( ) const
inline

◆ max()

template<typename T >
xyzVector& numeric::xyzVector< T >::max ( xyzVector< T > const &  v)
inline

◆ maximum_value()

template<typename T >
T numeric::xyzVector< T >::maximum_value ( ) const
inline

get the highest of the three values in the vector

References max(), numeric::xyzVector< T >::x_, numeric::xyzVector< T >::y_, and numeric::xyzVector< T >::z_.

Referenced by numeric::rgb_to_hsv().

◆ min()

template<typename T >
xyzVector& numeric::xyzVector< T >::min ( xyzVector< T > const &  v)
inline

◆ minimum_value()

template<typename T >
T numeric::xyzVector< T >::minimum_value ( ) const
inline

get the lowest of the three values in the vector

References min(), numeric::xyzVector< T >::x_, numeric::xyzVector< T >::y_, and numeric::xyzVector< T >::z_.

Referenced by numeric::rgb_to_hsv().

◆ negate()

template<typename T >
xyzVector& numeric::xyzVector< T >::negate ( )
inline

◆ negated() [1/2]

template<typename T >
xyzVector numeric::xyzVector< T >::negated ( ) const
inline

◆ negated() [2/2]

template<typename T >
void numeric::xyzVector< T >::negated ( xyzVector< T > &  a) const
inline

Negated: Return via argument (slightly faster)

References a, numeric::xyzVector< T >::x_, numeric::xyzVector< T >::y_, and numeric::xyzVector< T >::z_.

◆ norm()

template<typename T >
Value numeric::xyzVector< T >::norm ( ) const
inline

◆ norm_squared()

template<typename T >
Value numeric::xyzVector< T >::norm_squared ( ) const
inline

◆ normalize() [1/2]

template<typename T >
xyzVector& numeric::xyzVector< T >::normalize ( )
inline

◆ normalize() [2/2]

template<typename T >
xyzVector& numeric::xyzVector< T >::normalize ( Value const &  length_a)
inline

◆ normalize_any() [1/2]

template<typename T >
xyzVector& numeric::xyzVector< T >::normalize_any ( )
inline

◆ normalize_any() [2/2]

template<typename T >
xyzVector& numeric::xyzVector< T >::normalize_any ( Value const &  length_a)
inline

Normalize to a length: arbitrary normalized xyzVector if length is zero.

References numeric::xyzVector< T >::length(), numeric::xyzVector< T >::x_, numeric::xyzVector< T >::y_, and numeric::xyzVector< T >::z_.

◆ normalize_or_zero() [1/2]

template<typename T >
xyzVector& numeric::xyzVector< T >::normalize_or_zero ( )
inline

◆ normalize_or_zero() [2/2]

template<typename T >
xyzVector& numeric::xyzVector< T >::normalize_or_zero ( Value const &  length_a)
inline

◆ normalized() [1/4]

template<typename T >
xyzVector numeric::xyzVector< T >::normalized ( ) const
inline

◆ normalized() [2/4]

template<typename T >
xyzVector numeric::xyzVector< T >::normalized ( Value const &  length_a) const
inline

◆ normalized() [3/4]

template<typename T >
void numeric::xyzVector< T >::normalized ( Value const &  length_a,
xyzVector< T > &  a 
) const
inline

◆ normalized() [4/4]

template<typename T >
void numeric::xyzVector< T >::normalized ( xyzVector< T > &  a) const
inline

◆ normalized_any() [1/4]

template<typename T >
xyzVector numeric::xyzVector< T >::normalized_any ( ) const
inline

◆ normalized_any() [2/4]

template<typename T >
xyzVector numeric::xyzVector< T >::normalized_any ( Value const &  length_a) const
inline

◆ normalized_any() [3/4]

template<typename T >
void numeric::xyzVector< T >::normalized_any ( Value const &  length_a,
xyzVector< T > &  a 
) const
inline

Normalized to a length: arbitrary normalized xyzVector if length is zero.

References a, numeric::xyzVector< T >::length(), numeric::xyzVector< T >::x_, numeric::xyzVector< T >::y_, and numeric::xyzVector< T >::z_.

◆ normalized_any() [4/4]

template<typename T >
void numeric::xyzVector< T >::normalized_any ( xyzVector< T > &  a) const
inline

◆ normalized_or_zero() [1/4]

template<typename T >
xyzVector numeric::xyzVector< T >::normalized_or_zero ( ) const
inline

◆ normalized_or_zero() [2/4]

template<typename T >
xyzVector numeric::xyzVector< T >::normalized_or_zero ( Value const &  length_a) const
inline

◆ normalized_or_zero() [3/4]

template<typename T >
void numeric::xyzVector< T >::normalized_or_zero ( Value const &  length_a,
xyzVector< T > &  a 
) const
inline

◆ normalized_or_zero() [4/4]

template<typename T >
void numeric::xyzVector< T >::normalized_or_zero ( xyzVector< T > &  a) const
inline

◆ not_equal_length() [1/2]

template<typename T >
bool numeric::xyzVector< T >::not_equal_length ( xyzVector< T > const &  v)
inline

◆ not_equal_length() [2/2]

template<typename T >
template<typename U >
bool numeric::xyzVector< T >::not_equal_length ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)

Not equal length?

◆ operator()() [1/2]

template<typename T >
Value& numeric::xyzVector< T >::operator() ( int const  i)
inline

◆ operator()() [2/2]

template<typename T >
Value const& numeric::xyzVector< T >::operator() ( int const  i) const
inline

◆ operator*=()

template<typename T >
xyzVector& numeric::xyzVector< T >::operator*= ( Value const &  t)
inline

◆ operator+=() [1/2]

template<typename T >
xyzVector& numeric::xyzVector< T >::operator+= ( Value const &  t)
inline

◆ operator+=() [2/2]

template<typename T >
template<typename U >
xyzVector& numeric::xyzVector< T >::operator+= ( xyzVector< U > const &  v)
inline

◆ operator-()

template<typename T >
xyzVector numeric::xyzVector< T >::operator- ( ) const
inline

◆ operator-=() [1/2]

template<typename T >
xyzVector& numeric::xyzVector< T >::operator-= ( Value const &  t)
inline

◆ operator-=() [2/2]

template<typename T >
template<typename U >
xyzVector& numeric::xyzVector< T >::operator-= ( xyzVector< U > const &  v)
inline

◆ operator/=()

template<typename T >
xyzVector& numeric::xyzVector< T >::operator/= ( Value const &  t)
inline

◆ operator=() [1/4]

template<typename T >
template<typename U >
xyzVector& numeric::xyzVector< T >::operator= ( U const *  p)
inline

Assignment from pointer to contiguous values.

Warning
No way to check that argument points to three values

References kmeans_adaptive_kernel_density_bb_dependent_rotlib::p, numeric::xyzVector< T >::x_, numeric::xyzVector< T >::y_, and numeric::xyzVector< T >::z_.

◆ operator=() [2/4]

template<typename T >
xyzVector& numeric::xyzVector< T >::operator= ( Value const &  t)
inline

◆ operator=() [3/4]

template<typename T >
xyzVector& numeric::xyzVector< T >::operator= ( xyzVector< T > const &  v)
inline

◆ operator=() [4/4]

template<typename T >
template<typename U >
xyzVector& numeric::xyzVector< T >::operator= ( xyzVector< U > const &  v)
inline

◆ operator[]() [1/2]

template<typename T >
Value& numeric::xyzVector< T >::operator[] ( int const  i)
inline

◆ operator[]() [2/2]

template<typename T >
Value const& numeric::xyzVector< T >::operator[] ( int const  i) const
inline

◆ project_normal()

template<typename T >
xyzVector& numeric::xyzVector< T >::project_normal ( xyzVector< T > const &  v)
inline

◆ project_parallel()

template<typename T >
xyzVector& numeric::xyzVector< T >::project_parallel ( xyzVector< T > const &  v)
inline

◆ projected_normal() [1/2]

template<typename T >
xyzVector numeric::xyzVector< T >::projected_normal ( xyzVector< T > const &  v) const
inline

◆ projected_normal() [2/2]

template<typename T >
void numeric::xyzVector< T >::projected_normal ( xyzVector< T > const &  v,
xyzVector< T > &  a 
) const
inline

◆ projected_parallel() [1/2]

template<typename T >
xyzVector numeric::xyzVector< T >::projected_parallel ( xyzVector< T > const &  v) const
inline

◆ projected_parallel() [2/2]

template<typename T >
void numeric::xyzVector< T >::projected_parallel ( xyzVector< T > const &  v,
xyzVector< T > &  a 
)
inline

Projected parallel.

Note
Copy of this vector projected in direction of first input vector
Not meaningful when v == 0

References a, kmeans_adaptive_kernel_density_bb_dependent_rotlib::c, numeric::xyzVector< T >::dot(), and kmeans_adaptive_kernel_density_bb_dependent_rotlib::v.

◆ scaled_add()

template<typename T >
template<typename U >
xyzVector& numeric::xyzVector< T >::scaled_add ( Value const &  t,
xyzVector< U > const &  v 
)
inline

◆ scaled_assign()

template<typename T >
template<typename U >
xyzVector& numeric::xyzVector< T >::scaled_assign ( Value const &  t,
xyzVector< U > const &  v 
)
inline

◆ scaled_sub()

template<typename T >
template<typename U >
xyzVector& numeric::xyzVector< T >::scaled_sub ( Value const &  t,
xyzVector< U > const &  v 
)
inline

◆ shorter()

template<typename T >
bool numeric::xyzVector< T >::shorter ( xyzVector< T > const &  v)
inline

◆ shorter_or_equal()

template<typename T >
bool numeric::xyzVector< T >::shorter_or_equal ( xyzVector< T > const &  v)
inline

◆ square()

template<typename T >
static Value numeric::xyzVector< T >::square ( Value const &  t)
inlinestaticprivate

◆ to_string()

template<typename T >
std::string numeric::xyzVector< T >::to_string ( ) const
inline

◆ x() [1/3]

template<typename T >
Value& numeric::xyzVector< T >::x ( )
inline

◆ x() [2/3]

template<typename T >
Value const& numeric::xyzVector< T >::x ( ) const
inline

Value x const.

References numeric::xyzVector< T >::x_.

Referenced by PyMOL-Rosetta-relay-client.XYZCoord::__init__(), PyMOL-RosettaServer.XYZCoord::__init__(), PyMOL-Rosetta-relay-client.XYZCoord::__str__(), PyMOL-RosettaServer.XYZCoord::__str__(), pyrosetta.PyMOLRosettaServer.XYZCoord::__str__(), MyRotMover::apply(), HBondReporter::apply(), numeric::geometry::hashing::SixDCoordinateBinner::bin6(), ClashCheck::clash_check(), MatchSet::clash_check(), numeric::geometry::hashing::xyzStripeHash::clash_check_ball(), MatchSet::cross(), MatchSet::cross_homodimer(), numeric::deserialize(), dump_hbonds(), MatchAlignInfo::dump_pdb(), dumpsym(), fit_helix_in_map(), MyRT::from_axis(), numeric::xyzTransform< T >::from_euler_angles_rad(), get_change_in_distance(), get_cys_rts(), ClosabilityScore::get_rt_over_leap(), numeric::VoxelGrid< T >::GetSqDistanceOutsideBoundingBox(), apps::pilot::momeara::HBondConformation::hbond_param_sweep(), numeric::HomogeneousTransform< T >::HomogeneousTransform(), numeric::hsv_to_rgb(), numeric::geometry::hashing::xyzStripeHash::init(), MatchSet::init_clash_check(), ClashCheck::init_clash_check(), isctfast(), local_rms(), local_rms_window(), main(), DisulfEpos::make_farray(), mg_pdbstats_from_pose(), numeric::HomogeneousTransform< T >::operator*(), numeric::operator<<(), zinc_stats::ZincStatisticGenerator::output_file(), KinFunGroupTK::place_c(), KinRotSel::place_n(), numeric::principal_components_and_eigenvalues(), print_pep_csts(), rb_entropy_test(), read_embeddings(), read_membrane(), real6_from_rt(), ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::reset_nonparametric_translation_vect(), numeric::rgb_to_hsv(), run(), run_diiron_glu(), run_m8(), run_pep_prep(), run_tyr_his(), run_zn2his(), numeric::serialize(), set_pep_cst(), set_pep_csts(), numeric::VoxelGrid< T >::SetupGrid(), MembraneRelaxMover::show_membrane_position(), sicfast(), slice_ellipsoid_envelope(), slow_nbcount(), IsctFast::test(), numeric::geometry::hashing::xyzStripeHash::translation_real(), numeric::random::uniform_vector_sphere(), update_atom_positions(), user_overwrites_options(), numeric::geometry::vector_normal_to_ring_plane_of_best_fit(), PBPotentialMover::write_APBS_config(), and numeric::crick_equations::XYZ_BUNDLE().

◆ x() [3/3]

template<typename T >
void numeric::xyzVector< T >::x ( Value const &  x_a)
inline

◆ y() [1/3]

template<typename T >
Value& numeric::xyzVector< T >::y ( )
inline

◆ y() [2/3]

template<typename T >
Value const& numeric::xyzVector< T >::y ( ) const
inline

Value y const.

References numeric::xyzVector< T >::y_.

Referenced by PyMOL-Rosetta-relay-client.XYZCoord::__init__(), PyMOL-RosettaServer.XYZCoord::__init__(), PyMOL-Rosetta-relay-client.XYZCoord::__str__(), PyMOL-RosettaServer.XYZCoord::__str__(), pyrosetta.PyMOLRosettaServer.XYZCoord::__str__(), MyRotMover::apply(), HBondReporter::apply(), numeric::geometry::hashing::SixDCoordinateBinner::bin6(), ClashCheck::clash_check(), MatchSet::clash_check(), numeric::geometry::hashing::xyzStripeHash::clash_check_ball(), MatchSet::cross(), MatchSet::cross_homodimer(), numeric::deserialize(), dump_hbonds(), MatchAlignInfo::dump_pdb(), dumpsym(), fit_helix_in_map(), MyRT::from_axis(), numeric::xyzTransform< T >::from_euler_angles_rad(), get_change_in_distance(), get_cys_rts(), ClosabilityScore::get_rt_over_leap(), numeric::VoxelGrid< T >::GetSqDistanceOutsideBoundingBox(), apps::pilot::momeara::HBondConformation::hbond_param_sweep(), numeric::HomogeneousTransform< T >::HomogeneousTransform(), numeric::hsv_to_rgb(), numeric::geometry::hashing::xyzStripeHash::init(), MatchSet::init_clash_check(), ClashCheck::init_clash_check(), isctfast(), local_rms(), local_rms_window(), main(), DisulfEpos::make_farray(), mg_pdbstats_from_pose(), numeric::HomogeneousTransform< T >::operator*(), numeric::operator<<(), zinc_stats::ZincStatisticGenerator::output_file(), KinFunGroupTK::place_c(), KinRotSel::place_n(), numeric::principal_components_and_eigenvalues(), print_pep_csts(), rb_entropy_test(), read_embeddings(), read_membrane(), real6_from_rt(), ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::reset_nonparametric_translation_vect(), numeric::rgb_to_hsv(), run(), run_diiron_glu(), run_m8(), run_pep_prep(), run_tyr_his(), run_zn2his(), numeric::serialize(), set_pep_cst(), set_pep_csts(), numeric::VoxelGrid< T >::SetupGrid(), MembraneRelaxMover::show_membrane_position(), sicfast(), slice_ellipsoid_envelope(), slow_nbcount(), IsctFast::test(), numeric::geometry::hashing::xyzStripeHash::translation_real(), numeric::random::uniform_vector_sphere(), user_overwrites_options(), numeric::geometry::vector_normal_to_ring_plane_of_best_fit(), PBPotentialMover::write_APBS_config(), and numeric::crick_equations::XYZ_BUNDLE().

◆ y() [3/3]

template<typename T >
void numeric::xyzVector< T >::y ( Value const &  y_a)
inline

◆ z() [1/3]

template<typename T >
Value& numeric::xyzVector< T >::z ( )
inline

◆ z() [2/3]

template<typename T >
Value const& numeric::xyzVector< T >::z ( ) const
inline

Value z const.

References numeric::xyzVector< T >::z_.

Referenced by PyMOL-Rosetta-relay-client.XYZCoord::__init__(), PyMOL-RosettaServer.XYZCoord::__init__(), PyMOL-Rosetta-relay-client.XYZCoord::__str__(), PyMOL-RosettaServer.XYZCoord::__str__(), pyrosetta.PyMOLRosettaServer.XYZCoord::__str__(), align_sf4(), align_zns(), MyRotMover::apply(), HBondReporter::apply(), numeric::geometry::hashing::SixDCoordinateBinner::bin6(), calc_c3_rmsd(), ClashCheck::clash_check(), MatchSet::clash_check(), numeric::geometry::hashing::xyzStripeHash::clash_check_ball(), MatchSet::cross(), MatchSet::cross_homodimer(), numeric::deserialize(), dock(), dump_hbonds(), MatchAlignInfo::dump_pdb(), dumpsym(), fit_helix_in_map(), MyRT::from_axis(), numeric::xyzTransform< T >::from_euler_angles_rad(), get_change_in_distance(), get_cys_rts(), get_repl_xyz(), ClosabilityScore::get_rt_over_leap(), numeric::VoxelGrid< T >::GetSqDistanceOutsideBoundingBox(), apps::pilot::momeara::HBondConformation::hbond_param_sweep(), numeric::HomogeneousTransform< T >::HomogeneousTransform(), numeric::hsv_to_rgb(), numeric::geometry::hashing::xyzStripeHash::init(), MatchSet::init_clash_check(), ClashCheck::init_clash_check(), isctfast(), local_rms(), local_rms_window(), main(), DisulfEpos::make_farray(), mg_pdbstats_from_pose(), numeric::HomogeneousTransform< T >::operator*(), numeric::operator<<(), zinc_stats::ZincStatisticGenerator::output_file(), KinFunGroupTK::place_c(), KinRotSel::place_n(), numeric::principal_components_and_eigenvalues(), print_pep_csts(), rb_entropy_test(), read_embeddings(), read_membrane(), real6_from_rt(), ui::ui_protocols::helical_bundle::HelicalBundlePoseDrawOpenGLWidget::reset_nonparametric_translation_vect(), numeric::rgb_to_hsv(), run(), run_diiron_glu(), run_m8(), run_pep_prep(), run_tyr_his(), run_zn2his(), numeric::serialize(), set_pep_cst(), set_pep_csts(), numeric::VoxelGrid< T >::SetupGrid(), MembraneRelaxMover::show_membrane_position(), sicfast(), slice_ellipsoid_envelope(), slow_nbcount(), IsctFast::test(), numeric::geometry::hashing::xyzStripeHash::translation_real(), numeric::random::uniform_vector_sphere(), user_overwrites_options(), numeric::geometry::vector_normal_to_ring_plane_of_best_fit(), PBPotentialMover::write_APBS_config(), and numeric::crick_equations::XYZ_BUNDLE().

◆ z() [3/3]

template<typename T >
void numeric::xyzVector< T >::z ( Value const &  z_a)
inline

◆ zero()

template<typename T >
xyzVector& numeric::xyzVector< T >::zero ( )
inline

Friends And Related Function Documentation

◆ add [1/3]

template<typename T >
template<typename U >
void add ( U const &  t,
xyzVector< U > const &  v,
xyzVector< U > &  r 
)
friend

◆ add [2/3]

template<typename T >
template<typename U >
void add ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > &  r 
)
friend

◆ add [3/3]

template<typename T >
template<typename U >
void add ( xyzVector< U > const &  v,
U const &  t,
xyzVector< U > &  r 
)
friend

◆ center [1/6]

template<typename T >
template<typename U >
xyzVector<U> center ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

Center of 2 xyzVectors.

Referenced by MPFoldingMover::apply().

◆ center [2/6]

template<typename T >
template<typename U >
void center ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > &  m 
)
friend

Center of 2 xyzVectors: Return via argument (slightly faster)

◆ center [3/6]

template<typename T >
template<typename U >
xyzVector<U> center ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > const &  c 
)
friend

Center of 3 xyzVectors.

◆ center [4/6]

template<typename T >
template<typename U >
void center ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > const &  c,
xyzVector< U > &  m 
)
friend

Center of 3 xyzVectors: Return via argument (slightly faster)

◆ center [5/6]

template<typename T >
template<typename U >
xyzVector<U> center ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > const &  c,
xyzVector< U > const &  d 
)
friend

Center of 4 xyzVectors.

◆ center [6/6]

template<typename T >
template<typename U >
void center ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > const &  c,
xyzVector< U > const &  d,
xyzVector< U > &  m 
)
friend

Center of 4 xyzVectors: Return via argument (slightly faster)

◆ cross [1/2]

template<typename T >
template<typename U >
xyzVector<U> cross ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

Cross product.

◆ cross [2/2]

template<typename T >
template<typename U >
void cross ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > &  c 
)
friend

Cross product: Return via argument (slightly faster)

◆ cross_product [1/2]

template<typename T >
template<typename U >
xyzVector<U> cross_product ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

Cross product.

◆ cross_product [2/2]

template<typename T >
template<typename U >
void cross_product ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > &  c 
)
friend

Cross product: Return via argument (slightly faster)

◆ divide

template<typename T >
template<typename U >
void divide ( xyzVector< U > const &  v,
U const &  t,
xyzVector< U > &  r 
)
friend

Divide: xyzVector / Value.

◆ dot

template<typename T >
template<typename U >
U dot ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

Dot product.

◆ dot_product

template<typename T >
template<typename U >
U dot_product ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

Dot product.

◆ equal_length

template<typename T >
template<typename U >
bool equal_length ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

Equal length?

◆ inner_product

template<typename T >
template<typename U >
U inner_product ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

Inner product ( == dot product )

◆ inplace_product

template<typename T >
xyzVector< T >& inplace_product ( xyzMatrix< T > const &  m,
xyzVector< T > &  v 
)
friend

xyzMatrix * xyzVector in-place product

Note
Input xyzVector is modified

◆ inplace_transpose_product

template<typename T >
xyzVector< T >& inplace_transpose_product ( xyzMatrix< T > const &  m,
xyzVector< T > &  v 
)
friend

xyzMatrix^T * xyzVector in-place transpose product

Note
Input xyzVector is modified

◆ max

template<typename T >
template<typename U >
xyzVector<U> max ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

xyzVector with max coordinates of two xyzVectors

◆ midpoint [1/2]

template<typename T >
template<typename U >
xyzVector<U> midpoint ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

Midpoint of 2 xyzVectors.

◆ midpoint [2/2]

template<typename T >
template<typename U >
void midpoint ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > &  m 
)
friend

Midpoint of 2 xyzVectors: Return via argument (slightly faster)

◆ min

template<typename T >
template<typename U >
xyzVector<U> min ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

xyzVector with min coordinates of two xyzVectors

◆ multiply [1/2]

template<typename T >
template<typename U >
void multiply ( U const &  t,
xyzVector< U > const &  v,
xyzVector< U > &  r 
)
friend

Multiply: Value * xyzVector.

◆ multiply [2/2]

template<typename T >
template<typename U >
void multiply ( xyzVector< U > const &  v,
U const &  t,
xyzVector< U > &  r 
)
friend

Multiply: xyzVector * Value.

◆ operator!= [1/3]

template<typename T >
bool operator!= ( Value const &  t,
xyzVector< T > const &  v 
)
friend

Value != xyzVector.

◆ operator!= [2/3]

template<typename T >
bool operator!= ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
friend

◆ operator!= [3/3]

template<typename T >
bool operator!= ( xyzVector< T > const &  v,
Value const &  t 
)
friend

xyzVector != Value

◆ operator* [1/3]

template<typename T >
xyzVector operator* ( Value const &  t,
xyzVector< T > const &  v 
)
friend

Value * xyzVector.

◆ operator* [2/3]

template<typename T >
xyzVector< T > operator* ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
)
friend

◆ operator* [3/3]

template<typename T >
xyzVector operator* ( xyzVector< T > const &  v,
Value const &  t 
)
friend

xyzVector * Value

◆ operator+ [1/3]

template<typename T >
xyzVector operator+ ( Value const &  t,
xyzVector< T > const &  v 
)
friend

Value + xyzVector.

◆ operator+ [2/3]

template<typename T >
xyzVector operator+ ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
friend

◆ operator+ [3/3]

template<typename T >
xyzVector operator+ ( xyzVector< T > const &  v,
Value const &  t 
)
friend

xyzVector + Value

◆ operator- [1/3]

template<typename T >
xyzVector operator- ( Value const &  t,
xyzVector< T > const &  v 
)
friend

Value - xyzVector.

◆ operator- [2/3]

template<typename T >
xyzVector operator- ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
friend

◆ operator- [3/3]

template<typename T >
xyzVector operator- ( xyzVector< T > const &  v,
Value const &  t 
)
friend

xyzVector - Value

◆ operator/

template<typename T >
xyzVector operator/ ( xyzVector< T > const &  v,
Value const &  t 
)
friend

xyzVector / Value

◆ operator< [1/3]

template<typename T >
bool operator< ( Value const &  t,
xyzVector< T > const &  v 
)
friend

Value < xyzVector.

◆ operator< [2/3]

template<typename T >
bool operator< ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
friend

◆ operator< [3/3]

template<typename T >
bool operator< ( xyzVector< T > const &  v,
Value const &  t 
)
friend

xyzVector < Value

◆ operator<= [1/3]

template<typename T >
bool operator<= ( Value const &  t,
xyzVector< T > const &  v 
)
friend

Value <= xyzVector.

◆ operator<= [2/3]

template<typename T >
bool operator<= ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
friend

◆ operator<= [3/3]

template<typename T >
bool operator<= ( xyzVector< T > const &  v,
Value const &  t 
)
friend

xyzVector <= Value

◆ operator== [1/3]

template<typename T >
bool operator== ( Value const &  t,
xyzVector< T > const &  v 
)
friend

Value == xyzVector.

◆ operator== [2/3]

template<typename T >
bool operator== ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
friend

◆ operator== [3/3]

template<typename T >
bool operator== ( xyzVector< T > const &  v,
Value const &  t 
)
friend

xyzVector == Value

◆ operator> [1/3]

template<typename T >
bool operator> ( Value const &  t,
xyzVector< T > const &  v 
)
friend

Value > xyzVector.

◆ operator> [2/3]

template<typename T >
bool operator> ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
friend

◆ operator> [3/3]

template<typename T >
bool operator> ( xyzVector< T > const &  v,
Value const &  t 
)
friend

xyzVector > Value

◆ operator>= [1/3]

template<typename T >
bool operator>= ( Value const &  t,
xyzVector< T > const &  v 
)
friend

Value >= xyzVector.

◆ operator>= [2/3]

template<typename T >
bool operator>= ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
friend

◆ operator>= [3/3]

template<typename T >
bool operator>= ( xyzVector< T > const &  v,
Value const &  t 
)
friend

xyzVector >= Value

◆ outer_product

template<typename T >
xyzMatrix< T > outer_product ( xyzVector< T > const &  a,
xyzVector< T > const &  b 
)
friend

xyzVector xyzVector outer product

◆ product

template<typename T >
xyzVector< T > product ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
)
friend

xyzMatrix * xyzVector product

Note
Same as xyzMatrix * xyzVector

◆ projection_matrix

template<typename T >
xyzMatrix< T > projection_matrix ( xyzVector< T > const &  v)
friend

geometric center

Note
compute the geometric center of a list of points

Projection matrix onto the line through a vector

◆ rotation_matrix

template<typename T >
xyzMatrix< T > rotation_matrix ( xyzVector< T > const &  axis,
T const &  theta 
)
friend

Rotation matrix for rotation about an axis by an angle in radians.

Referenced by numeric::EulerAngles< T >::EulerAngles().

◆ subtract [1/3]

template<typename T >
template<typename U >
void subtract ( U const &  t,
xyzVector< U > const &  v,
xyzVector< U > &  r 
)
friend

Subtract: Value - xyzVector.

◆ subtract [2/3]

template<typename T >
template<typename U >
void subtract ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > &  r 
)
friend

Subtract: xyzVector - xyzVector.

◆ subtract [3/3]

template<typename T >
template<typename U >
void subtract ( xyzVector< U > const &  v,
U const &  t,
xyzVector< U > &  r 
)
friend

Subtract: xyzVector - Value.

◆ transpose_product

template<typename T >
xyzVector< T > transpose_product ( xyzMatrix< T > const &  m,
xyzVector< T > const &  v 
)
friend

xyzMatrix^T * xyzVector product

◆ update_5way_operation

template<typename T >
template<typename U >
xyzVector<U> update_5way_operation ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > const &  c,
xyzVector< U > const &  d,
xyzVector< U > const &  e 
)
friend

◆ update_operation

template<typename T >
template<typename U >
xyzVector<U> update_operation ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

◆ xyzMatrix

template<typename T >
template<typename >
friend class xyzMatrix
friend

◆ xyzVector

template<typename T >
template<typename >
friend class xyzVector
friend

Member Data Documentation

◆ x_

template<typename T >
Value numeric::xyzVector< T >::x_
private

Coordinates of the 3 coordinate vector.

Referenced by numeric::xyzMatrix< T >::add_diagonal(), numeric::xyzVector< T >::assign(), numeric::xyzVector< T >::clear(), numeric::xyzVector< T >::cross(), numeric::xyzVector< T >::cross_product(), numeric::xyzMatrix< T >::diag(), numeric::xyzVector< T >::distance(), numeric::xyzVector< T >::distance_squared(), numeric::xyzVector< T >::dot(), numeric::xyzVector< T >::dot_product(), numeric::xyzVector< T >::inner_product(), numeric::xyzVector< T >::is_finite(), numeric::xyzVector< T >::is_zero(), numeric::xyzVector< T >::length(), numeric::xyzVector< T >::length_squared(), numeric::xyzVector< T >::magnitude(), numeric::xyzVector< T >::magnitude_squared(), numeric::xyzVector< T >::max(), numeric::xyzVector< T >::maximum_value(), numeric::xyzVector< T >::min(), numeric::xyzVector< T >::minimum_value(), numeric::xyzVector< T >::negate(), numeric::xyzVector< T >::negated(), numeric::xyzVector< T >::norm(), numeric::xyzVector< T >::norm_squared(), numeric::xyzVector< T >::normalize(), numeric::xyzVector< T >::normalize_any(), numeric::xyzVector< T >::normalize_or_zero(), numeric::xyzVector< T >::normalized(), numeric::xyzVector< T >::normalized_any(), numeric::xyzVector< T >::normalized_or_zero(), numeric::xyzVector< T >::operator()(), numeric::xyzVector< T >::operator*=(), numeric::xyzVector< T >::operator+=(), numeric::xyzVector< T >::operator-(), numeric::xyzVector< T >::operator-=(), numeric::xyzVector< T >::operator/=(), numeric::xyzVector< T >::operator=(), numeric::xyzVector< T >::operator[](), numeric::xyzVector< T >::project_normal(), numeric::xyzVector< T >::project_parallel(), numeric::xyzVector< T >::projected_normal(), numeric::xyzVector< T >::scaled_add(), numeric::xyzVector< T >::scaled_assign(), numeric::xyzVector< T >::scaled_sub(), numeric::xyzMatrix< T >::set_diagonal(), numeric::xyzMatrix< T >::subtract_diagonal(), numeric::xyzMatrix< T >::to_diag(), numeric::xyzVector< T >::to_string(), numeric::update_5way_operation(), numeric::xyzVector< T >::x(), and numeric::xyzVector< T >::zero().

◆ y_

template<typename T >
Value numeric::xyzVector< T >::y_
private

Referenced by numeric::xyzMatrix< T >::add_diagonal(), numeric::xyzVector< T >::assign(), numeric::xyzVector< T >::clear(), numeric::xyzVector< T >::cross(), numeric::xyzVector< T >::cross_product(), numeric::xyzMatrix< T >::diag(), numeric::xyzVector< T >::distance(), numeric::xyzVector< T >::distance_squared(), numeric::xyzVector< T >::dot(), numeric::xyzVector< T >::dot_product(), numeric::xyzVector< T >::inner_product(), numeric::xyzVector< T >::is_finite(), numeric::xyzVector< T >::is_zero(), numeric::xyzVector< T >::length(), numeric::xyzVector< T >::length_squared(), numeric::xyzVector< T >::magnitude(), numeric::xyzVector< T >::magnitude_squared(), numeric::xyzVector< T >::max(), numeric::xyzVector< T >::maximum_value(), numeric::xyzVector< T >::min(), numeric::xyzVector< T >::minimum_value(), numeric::xyzVector< T >::negate(), numeric::xyzVector< T >::negated(), numeric::xyzVector< T >::norm(), numeric::xyzVector< T >::norm_squared(), numeric::xyzVector< T >::normalize(), numeric::xyzVector< T >::normalize_any(), numeric::xyzVector< T >::normalize_or_zero(), numeric::xyzVector< T >::normalized(), numeric::xyzVector< T >::normalized_any(), numeric::xyzVector< T >::normalized_or_zero(), numeric::xyzVector< T >::operator()(), numeric::xyzVector< T >::operator*=(), numeric::xyzVector< T >::operator+=(), numeric::xyzVector< T >::operator-(), numeric::xyzVector< T >::operator-=(), numeric::xyzVector< T >::operator/=(), numeric::xyzVector< T >::operator=(), numeric::xyzVector< T >::operator[](), numeric::xyzVector< T >::project_normal(), numeric::xyzVector< T >::project_parallel(), numeric::xyzVector< T >::projected_normal(), numeric::xyzVector< T >::scaled_add(), numeric::xyzVector< T >::scaled_assign(), numeric::xyzVector< T >::scaled_sub(), numeric::xyzMatrix< T >::set_diagonal(), numeric::xyzMatrix< T >::subtract_diagonal(), numeric::xyzMatrix< T >::to_diag(), numeric::xyzVector< T >::to_string(), numeric::update_5way_operation(), numeric::xyzVector< T >::y(), and numeric::xyzVector< T >::zero().

◆ z_

template<typename T >
Value numeric::xyzVector< T >::z_
private

Referenced by numeric::xyzMatrix< T >::add_diagonal(), numeric::xyzVector< T >::assign(), numeric::xyzVector< T >::clear(), numeric::xyzVector< T >::cross(), numeric::xyzVector< T >::cross_product(), numeric::xyzMatrix< T >::diag(), numeric::xyzVector< T >::distance(), numeric::xyzVector< T >::distance_squared(), numeric::xyzVector< T >::dot(), numeric::xyzVector< T >::dot_product(), numeric::xyzVector< T >::inner_product(), numeric::xyzVector< T >::is_finite(), numeric::xyzVector< T >::is_zero(), numeric::xyzVector< T >::length(), numeric::xyzVector< T >::length_squared(), numeric::xyzVector< T >::magnitude(), numeric::xyzVector< T >::magnitude_squared(), numeric::xyzVector< T >::max(), numeric::xyzVector< T >::maximum_value(), numeric::xyzVector< T >::min(), numeric::xyzVector< T >::minimum_value(), numeric::xyzVector< T >::negate(), numeric::xyzVector< T >::negated(), numeric::xyzVector< T >::norm(), numeric::xyzVector< T >::norm_squared(), numeric::xyzVector< T >::normalize(), numeric::xyzVector< T >::normalize_any(), numeric::xyzVector< T >::normalize_or_zero(), numeric::xyzVector< T >::normalized(), numeric::xyzVector< T >::normalized_any(), numeric::xyzVector< T >::normalized_or_zero(), numeric::xyzVector< T >::operator()(), numeric::xyzVector< T >::operator*=(), numeric::xyzVector< T >::operator+=(), numeric::xyzVector< T >::operator-(), numeric::xyzVector< T >::operator-=(), numeric::xyzVector< T >::operator/=(), numeric::xyzVector< T >::operator=(), numeric::xyzVector< T >::operator[](), numeric::xyzVector< T >::project_normal(), numeric::xyzVector< T >::project_parallel(), numeric::xyzVector< T >::projected_normal(), numeric::xyzVector< T >::scaled_add(), numeric::xyzVector< T >::scaled_assign(), numeric::xyzVector< T >::scaled_sub(), numeric::xyzMatrix< T >::set_diagonal(), numeric::xyzMatrix< T >::subtract_diagonal(), numeric::xyzMatrix< T >::to_diag(), numeric::xyzVector< T >::to_string(), numeric::update_5way_operation(), numeric::xyzVector< T >::z(), and numeric::xyzVector< T >::zero().


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