Rosetta  2020.11
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
numeric::xyzVector< typename > Class Template Reference

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

#include <xyzVector.hh>

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...
 
void show (std::ostream &output=std::cout) const
 Show. 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 & at (int const i) const
 xyzVector.at: 0-based index with bounds checking More...
 
Valueat (int const i)
 xyzVector.at: 0-based index with bounds checking 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 >
angle_of (xyzVector const &a, xyzVector const &b)
 Angle between two vectors (in radians on [ 0, pi ]) More...
 
template<typename U >
angle_of (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c)
 Angle formed by three consecutive points (in radians on [ 0, pi ]) More...
 
template<typename U >
cos_of (xyzVector const &a, xyzVector const &b)
 Cosine of angle between two vectors. More...
 
template<typename U >
cos_of (xyzVector const &a, xyzVector const &b, xyzVector const &c)
 Cosine of angle formed by three consecutive points. More...
 
template<typename U >
sin_of (xyzVector< U > const &a, xyzVector< U > const &b)
 Sine of angle between two vectors. More...
 
template<typename U >
sin_of (xyzVector< U > const &a, xyzVector< U > const &b, xyzVector< U > const &c)
 Sine of angle formed by three consecutive points. 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...
 
template<typename U >
platform::Size hash_value (xyzVector< U > const &v)
 Hashing of coords using boost::hash. More...
 

Detailed Description

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

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

Member Typedef Documentation

template<typename >
typedef T const* numeric::xyzVector< typename >::const_pointer
template<typename >
typedef T const& numeric::xyzVector< typename >::const_reference
template<typename >
typedef T const* numeric::xyzVector< typename >::ConstPointer
template<typename >
typedef T const& numeric::xyzVector< typename >::ConstReference
template<typename >
typedef void numeric::xyzVector< typename >::difference_type
template<typename >
typedef void numeric::xyzVector< typename >::iterator_category
template<typename >
typedef T* numeric::xyzVector< typename >::Pointer
template<typename >
typedef T* numeric::xyzVector< typename >::pointer
template<typename >
typedef T& numeric::xyzVector< typename >::Reference
template<typename >
typedef T& numeric::xyzVector< typename >::reference
template<typename >
typedef T numeric::xyzVector< typename >::Value
template<typename >
typedef T numeric::xyzVector< typename >::value_type

Constructor & Destructor Documentation

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

Copy constructor.

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

Copy constructor.

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

Uniform value constructor.

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

Triple value constructor.

template<typename >
template<typename U >
numeric::xyzVector< typename >::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
template<typename >
numeric::xyzVector< typename >::~xyzVector ( )
inline

Destructor.

Member Function Documentation

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

Triple value assignment.

Referenced by numeric::Quaternion< T >::axis(), and numeric::crick_equations::XYZ_BUNDLE().

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

xyzVector.at: 0-based index with bounds checking

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

xyzVector.at: 0-based index with bounds checking

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

Cross product.

template<typename >
Value numeric::xyzVector< typename >::distance ( xyzVector< typename > const &  v) const
inline
template<typename >
Value numeric::xyzVector< typename >::distance_squared ( xyzVector< typename > const &  v) const
inline
template<typename >
Value numeric::xyzVector< typename >::dot ( xyzVector< typename > const &  v) const
inline
template<typename >
Value numeric::xyzVector< typename >::dot_product ( xyzVector< typename > const &  v) const
inline

Dot product.

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

Equal length?

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

Inner product ( == dot product )

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

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

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

Is exactly normalized?

Referenced by numeric::BodyPosition< typename >::BodyPosition().

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

Is normalized to within a tolerance?

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

Is exactly a unit vector?

Referenced by numeric::ccd_angle().

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

Is a unit vector to within a tolerance?

template<typename >
bool numeric::xyzVector< typename >::is_zero ( ) const
inline
template<typename >
Value numeric::xyzVector< typename >::length ( ) const
inline
template<typename >
Value numeric::xyzVector< typename >::length_squared ( ) const
inline
template<typename >
bool numeric::xyzVector< typename >::longer ( xyzVector< typename > const &  v)
inline

Longer?

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

Longer or equal length?

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

Magnitude.

Referenced by numeric::rotation_matrix().

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

Magnitude squared.

Referenced by numeric::closest_point_on_line().

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

Set maximum coordinates wrt another xyzVector.

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

get the highest of the three values in the vector

Referenced by numeric::rgb_to_hsv().

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

Set minimum coordinates wrt another xyzVector.

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

get the lowest of the three values in the vector

Referenced by numeric::rgb_to_hsv().

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

Negate.

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

Negated copy.

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

Negated: Return via argument (slightly faster)

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

Norm.

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

Norm squared.

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

Normalize to a length.

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

Normalize: arbitrary normalized xyzVector if length is zero.

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

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

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

Normalize: zero xyzVector if length is zero.

Referenced by numeric::alignVectorSets(), and numeric::Quaternion< T >::axis().

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

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

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

Normalized to a length.

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

Normalized copy.

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

Normalized to a length copy.

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

Normalized: arbitrary normalized xyzVector if length is zero.

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

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

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

Normalized copy: Arbitrary normalized xyzVector if length is zero.

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

Normalized to a length copy: Arbitrary normalized xyzVector if length is zero.

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

Normalized: zero xyzVector if length is zero.

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

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

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

Normalized copy: Zero xyzVector if length is zero.

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

Normalized to a length copy: Zero xyzVector if length is zero.

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

Not equal length?

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

Not equal length?

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

xyzVector( i ) const: 1-based index

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

xyzVector( i ): 1-based index

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

*= Value

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

+= Value

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

-xyzVector (negated copy)

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

-= Value

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

/= Value

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

Copy assignment.

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

Copy assignment.

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

Assignment from pointer to contiguous values.

Warning
No way to check that argument points to three values
template<typename >
xyzVector& numeric::xyzVector< typename >::operator= ( Value const &  t)
inline

= Value

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

xyzVector[ i ] const: 0-based index

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

xyzVector[ i ]: 0-based index

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

Project normal.

Note
This vector projected normally onto input vector
Not meaningful when v == 0
template<typename >
xyzVector& numeric::xyzVector< typename >::project_parallel ( xyzVector< typename > const &  v)
inline

Project parallel.

Note
This vector projected in direction of input vector
Not meaningful when v == 0
template<typename >
xyzVector numeric::xyzVector< typename >::projected_normal ( xyzVector< typename > const &  v) const
inline

Projected normal copy.

Note
Copy of this vector projected normally onto input vector
Not meaningful when v == 0
template<typename >
void numeric::xyzVector< typename >::projected_normal ( xyzVector< typename > const &  v,
xyzVector< typename > &  a 
) const
inline

Projected normal.

Note
Copy of this vector projected normally onto first input vector
Not meaningful when v == 0
template<typename >
xyzVector numeric::xyzVector< typename >::projected_parallel ( xyzVector< typename > const &  v) const
inline

Projected parallel copy.

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

Referenced by zinc_stats::ZincStatisticGenerator::recursively_model_rotamer_chis().

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

Projected parallel.

Note
Copy of this vector projected in direction of first input vector
Not meaningful when v == 0
template<typename >
template<typename U >
xyzVector& numeric::xyzVector< typename >::scaled_add ( Value const &  t,
xyzVector< U > const &  v 
)
inline

Add Value * xyzVector.

Note
Avoids temporary of += Value * xyzVector
template<typename >
template<typename U >
xyzVector& numeric::xyzVector< typename >::scaled_assign ( Value const &  t,
xyzVector< U > const &  v 
)
inline

Assign Value * xyzVector.

Note
Avoids temporary of = Value * xyzVector
template<typename >
template<typename U >
xyzVector& numeric::xyzVector< typename >::scaled_sub ( Value const &  t,
xyzVector< U > const &  v 
)
inline

Subtract Value * xyzVector.

Note
Avoids temporary of -= Value * xyzVector
template<typename >
bool numeric::xyzVector< typename >::shorter ( xyzVector< typename > const &  v)
inline

Shorter?

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

Shorter or equal length?

template<typename >
void numeric::xyzVector< typename >::show ( std::ostream &  output = std::cout) const
inline
template<typename >
static Value numeric::xyzVector< typename >::square ( Value const &  t)
inlinestaticprivate
template<typename >
std::string numeric::xyzVector< typename >::to_string ( ) const
inline

to_string, useful for utility exits

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

Value x const.

Referenced by numeric::geometry::hashing::SixDCoordinateBinner::bin6(), numeric::geometry::hashing::xyzStripeHash::clash(), numeric::geometry::hashing::xyzStripeHash::clash_amount(), numeric::geometry::hashing::xyzStripeHash::clash_check_ball(), numeric::geometry::hashing::xyzStripeHash::clash_not_resid(), numeric::geometry::hashing::xyzStripeHash::clash_raw(), numeric::geometry::hashing::xyzStripeHash::debug_pdb(), numeric::deserialize(), numeric::geometry::hashing::xyzStripeHash::fill_pairs(), numeric::EulerAngles< typename >::from_degrees(), numeric::xyzTransform< numeric::Real >::from_euler_angles_rad(), numeric::from_json(), numeric::VoxelGrid< typename >::GetIndex(), numeric::VoxelGrid< typename >::GetSqDistanceOutsideBoundingBox(), numeric::xyzTransform< numeric::Real >::hash64(), numeric::HomogeneousTransform< double >::HomogeneousTransform(), numeric::hsv_to_rgb(), numeric::geometry::hashing::xyzStripeHash::init(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::init(), numeric::xyzTransform< numeric::Real >::intersect3D_2Planes(), main(), numeric::geometry::hashing::xyzStripeHash::nbcount(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::nbcount(), numeric::geometry::hashing::xyzStripeHash::nbcount_raw(), numeric::HomogeneousTransform< double >::operator*(), numeric::operator<<(), numeric::operator>>(), zinc_stats::ZincStatisticGenerator::output_file(), numeric::linear_algebra::point_in_ellipse(), numeric::principal_components_and_eigenvalues(), basic::sampling::orientations::Quaternion::PrintEuler(), numeric::xyzTransform< numeric::Real >::px(), numeric::rgb_to_hsv(), numeric::xyzTransform< numeric::Real >::rt6(), numeric::serialize(), numeric::HomogeneousTransform< double >::set_point(), numeric::HomogeneousTransform< double >::set_transform(), numeric::VoxelGrid< typename >::SetupGrid(), slice_ellipsoid_envelope(), numeric::spherical_to_xyz(), numeric::to_json(), numeric::VoxelGrid< typename >::Translate(), numeric::geometry::hashing::xyzStripeHash::translation_real(), numeric::truncate_and_serialize_xyz_vector(), numeric::random::uniform_vector_sphere(), numeric::geometry::vector_normal_to_ring_plane_of_best_fit(), numeric::geometry::hashing::xyzStripeHash::visit(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::visit(), numeric::geometry::hashing::xyzStripeHash::visit_lax(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::visit_lax(), numeric::xyzTransform< numeric::Real >::x(), numeric::crick_equations::XYZ_BUNDLE(), xyz_center_vector(), and numeric::xyz_to_spherical().

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

Value x.

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

x assignment

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

Value y const.

Referenced by numeric::geometry::hashing::SixDCoordinateBinner::bin6(), numeric::geometry::hashing::xyzStripeHash::clash(), numeric::geometry::hashing::xyzStripeHash::clash_amount(), numeric::geometry::hashing::xyzStripeHash::clash_check_ball(), numeric::geometry::hashing::xyzStripeHash::clash_not_resid(), numeric::geometry::hashing::xyzStripeHash::clash_raw(), numeric::geometry::hashing::xyzStripeHash::debug_pdb(), numeric::deserialize(), numeric::geometry::hashing::xyzStripeHash::fill_pairs(), numeric::EulerAngles< typename >::from_degrees(), numeric::xyzTransform< numeric::Real >::from_euler_angles_rad(), numeric::from_json(), numeric::VoxelGrid< typename >::GetIndex(), numeric::VoxelGrid< typename >::GetSqDistanceOutsideBoundingBox(), numeric::xyzTransform< numeric::Real >::hash64(), numeric::HomogeneousTransform< double >::HomogeneousTransform(), numeric::hsv_to_rgb(), numeric::geometry::hashing::xyzStripeHash::init(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::init(), numeric::xyzTransform< numeric::Real >::intersect3D_2Planes(), main(), numeric::geometry::hashing::xyzStripeHash::nbcount(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::nbcount(), numeric::geometry::hashing::xyzStripeHash::nbcount_raw(), numeric::HomogeneousTransform< double >::operator*(), numeric::operator<<(), numeric::operator>>(), zinc_stats::ZincStatisticGenerator::output_file(), numeric::linear_algebra::point_in_ellipse(), numeric::principal_components_and_eigenvalues(), basic::sampling::orientations::Quaternion::PrintEuler(), numeric::xyzTransform< numeric::Real >::py(), numeric::rgb_to_hsv(), numeric::xyzTransform< numeric::Real >::rt6(), numeric::serialize(), numeric::HomogeneousTransform< double >::set_point(), numeric::HomogeneousTransform< double >::set_transform(), numeric::VoxelGrid< typename >::SetupGrid(), slice_ellipsoid_envelope(), numeric::spherical_to_xyz(), numeric::to_json(), numeric::VoxelGrid< typename >::Translate(), numeric::geometry::hashing::xyzStripeHash::translation_real(), numeric::truncate_and_serialize_xyz_vector(), numeric::random::uniform_vector_sphere(), numeric::geometry::vector_normal_to_ring_plane_of_best_fit(), numeric::geometry::hashing::xyzStripeHash::visit(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::visit(), numeric::geometry::hashing::xyzStripeHash::visit_lax(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::visit_lax(), numeric::crick_equations::XYZ_BUNDLE(), xyz_center_vector(), numeric::xyz_to_spherical(), and numeric::xyzTransform< numeric::Real >::y().

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

Value y.

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

y assignment

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

Value z const.

Referenced by numeric::geometry::hashing::SixDCoordinateBinner::bin6(), numeric::geometry::hashing::xyzStripeHash::clash(), numeric::geometry::hashing::xyzStripeHash::clash_amount(), numeric::geometry::hashing::xyzStripeHash::clash_check_ball(), numeric::geometry::hashing::xyzStripeHash::clash_not_resid(), numeric::geometry::hashing::xyzStripeHash::clash_raw(), numeric::geometry::hashing::xyzStripeHash::debug_pdb(), numeric::deserialize(), numeric::geometry::hashing::xyzStripeHash::fill_pairs(), numeric::EulerAngles< typename >::from_degrees(), numeric::xyzTransform< numeric::Real >::from_euler_angles_rad(), numeric::from_json(), numeric::VoxelGrid< typename >::GetIndex(), numeric::VoxelGrid< typename >::GetSqDistanceOutsideBoundingBox(), numeric::xyzTransform< numeric::Real >::hash64(), numeric::HomogeneousTransform< double >::HomogeneousTransform(), numeric::hsv_to_rgb(), numeric::geometry::hashing::xyzStripeHash::init(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::init(), numeric::xyzTransform< numeric::Real >::intersect3D_2Planes(), main(), numeric::geometry::hashing::xyzStripeHash::nbcount(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::nbcount(), numeric::geometry::hashing::xyzStripeHash::nbcount_raw(), numeric::HomogeneousTransform< double >::operator*(), numeric::operator<<(), numeric::operator>>(), zinc_stats::ZincStatisticGenerator::output_file(), numeric::principal_components_and_eigenvalues(), basic::sampling::orientations::Quaternion::PrintEuler(), numeric::xyzTransform< numeric::Real >::pz(), numeric::rgb_to_hsv(), numeric::xyzTransform< numeric::Real >::rt6(), numeric::serialize(), numeric::HomogeneousTransform< double >::set_point(), numeric::HomogeneousTransform< double >::set_transform(), numeric::VoxelGrid< typename >::SetupGrid(), slice_ellipsoid_envelope(), numeric::spherical_to_xyz(), numeric::to_json(), numeric::VoxelGrid< typename >::Translate(), numeric::geometry::hashing::xyzStripeHash::translation_real(), numeric::truncate_and_serialize_xyz_vector(), numeric::random::uniform_vector_sphere(), numeric::geometry::vector_normal_to_ring_plane_of_best_fit(), numeric::geometry::hashing::xyzStripeHash::visit(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::visit(), numeric::geometry::hashing::xyzStripeHash::visit_lax(), numeric::geometry::hashing::xyzStripeHashWithMeta< float >::visit_lax(), numeric::crick_equations::XYZ_BUNDLE(), xyz_center_vector(), numeric::xyz_to_spherical(), and numeric::xyzTransform< numeric::Real >::z().

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

Value z.

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

z assignment

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

Zero.

Friends And Related Function Documentation

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

Angle between two vectors (in radians on [ 0, pi ])

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

Angle formed by three consecutive points (in radians on [ 0, pi ])

Note
For points a, b, c, the angle is the angle between the vectors a - b and c - b in other words, the positive angle about b from a to c
template<typename >
template<typename U >
xyzVector<U> center ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

Center of 2 xyzVectors.

template<typename >
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)

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

Center of 3 xyzVectors.

template<typename >
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)

template<typename >
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.

template<typename >
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)

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

Cosine of angle between two vectors.

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

Cosine of angle formed by three consecutive points.

Note
For points a, b, c, the angle is the angle between the vectors a - b and c - b in other words, the positive angle about b from a to c.
template<typename >
template<typename U >
xyzVector<U> cross ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

Cross product.

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

Cross product: Return via argument (slightly faster)

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

Cross product.

template<typename >
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)

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

Divide: xyzVector / Value.

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

Dot product.

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

Dot product.

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

Equal length?

template<typename >
template<typename U >
platform::Size hash_value ( xyzVector< U > const &  v)
friend

Hashing of coords using boost::hash.

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

Inner product ( == dot product )

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

xyzMatrix * xyzVector in-place product

Note
Input xyzVector is modified
template<typename >
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
template<typename >
template<typename U >
xyzVector<U> max ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend

xyzVector with max coordinates of two xyzVectors

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

Midpoint of 2 xyzVectors.

template<typename >
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)

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

xyzVector with min coordinates of two xyzVectors

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

Multiply: xyzVector * Value.

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

Multiply: Value * xyzVector.

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

xyzVector != Value

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

Value != xyzVector.

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

xyzVector * Value

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

Value * xyzVector.

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

xyzVector + Value

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

Value + xyzVector.

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

xyzVector - Value

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

Value - xyzVector.

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

xyzVector / Value

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

xyzVector < Value

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

Value < xyzVector.

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

xyzVector <= Value

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

Value <= xyzVector.

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

xyzVector == Value

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

Value == xyzVector.

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

xyzVector > Value

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

Value > xyzVector.

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

xyzVector >= Value

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

Value >= xyzVector.

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

xyzVector xyzVector outer product

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

xyzMatrix * xyzVector product

Note
Same as xyzMatrix * xyzVector
template<typename >
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
template<typename >
xyzMatrix< T > rotation_matrix ( xyzVector< T > const &  axis,
T const &  theta 
)
friend

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

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

Sine of angle between two vectors.

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

Sine of angle formed by three consecutive points.

Note
For points a, b, c, the angle is the angle between the vectors a - b and c - b in other words, the positive angle about b from a to c
template<typename >
template<typename U >
void subtract ( xyzVector< U > const &  a,
xyzVector< U > const &  b,
xyzVector< U > &  r 
)
friend

Subtract: xyzVector - xyzVector.

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

Subtract: xyzVector - Value.

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

Subtract: Value - xyzVector.

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

xyzMatrix^T * xyzVector product

template<typename >
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
template<typename >
template<typename U >
xyzVector<U> update_operation ( xyzVector< U > const &  a,
xyzVector< U > const &  b 
)
friend
template<typename >
template<typename >
friend class xyzMatrix
friend
template<typename >
template<typename >
friend class xyzVector
friend

Member Data Documentation

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

Coordinates of the 3 coordinate vector.

Referenced by numeric::xyzMatrix< T >::add_diagonal(), numeric::xyzVector< core::Real >::assign(), numeric::xyzVector< core::Real >::at(), numeric::xyzVector< core::Real >::clear(), numeric::xyzMatrix< T >::col(), numeric::xyzMatrix< T >::col_x(), numeric::xyzMatrix< T >::col_y(), numeric::xyzMatrix< T >::col_z(), numeric::xyzMatrix< T >::cols_constructor(), numeric::xyzVector< core::Real >::cross(), numeric::xyzVector< core::Real >::cross_product(), numeric::xyzMatrix< T >::diag(), numeric::xyzVector< core::Real >::distance(), numeric::xyzVector< core::Real >::distance_squared(), numeric::xyzVector< core::Real >::dot(), numeric::xyzVector< core::Real >::dot_product(), numeric::dot_product(), numeric::hash_value(), numeric::xyzVector< core::Real >::inner_product(), numeric::inplace_product(), numeric::inplace_transpose_product(), numeric::xyzVector< core::Real >::is_finite(), numeric::xyzVector< core::Real >::is_zero(), numeric::xyzVector< core::Real >::length(), numeric::xyzVector< core::Real >::length_squared(), numeric::xyzVector< core::Real >::magnitude(), numeric::xyzVector< core::Real >::magnitude_squared(), numeric::xyzVector< core::Real >::max(), numeric::xyzVector< core::Real >::maximum_value(), numeric::xyzVector< core::Real >::min(), numeric::xyzVector< core::Real >::minimum_value(), numeric::xyzVector< core::Real >::negate(), numeric::xyzVector< core::Real >::negated(), numeric::xyzVector< core::Real >::norm(), numeric::xyzVector< core::Real >::norm_squared(), numeric::xyzVector< core::Real >::normalize(), numeric::xyzVector< core::Real >::normalize_any(), numeric::xyzVector< core::Real >::normalize_or_zero(), numeric::xyzVector< core::Real >::normalized(), numeric::xyzVector< core::Real >::normalized_any(), numeric::xyzVector< core::Real >::normalized_or_zero(), numeric::xyzVector< core::Real >::operator()(), numeric::xyzMatrix< T >::operator*(), numeric::xyzVector< core::Real >::operator*=(), numeric::xyzVector< core::Real >::operator+=(), numeric::xyzVector< core::Real >::operator-(), numeric::xyzVector< core::Real >::operator-=(), numeric::xyzVector< core::Real >::operator/=(), numeric::xyzVector< core::Real >::operator=(), numeric::xyzVector< core::Real >::operator[](), numeric::outer_product(), numeric::product(), numeric::xyzVector< core::Real >::project_normal(), numeric::xyzVector< core::Real >::project_parallel(), numeric::xyzVector< core::Real >::projected_normal(), numeric::projection_matrix(), numeric::rotation_matrix(), numeric::xyzMatrix< T >::row(), numeric::xyzMatrix< T >::row_x(), numeric::xyzMatrix< T >::row_y(), numeric::xyzMatrix< T >::row_z(), numeric::xyzMatrix< T >::rows_constructor(), numeric::xyzVector< core::Real >::scaled_add(), numeric::xyzVector< core::Real >::scaled_assign(), numeric::xyzVector< core::Real >::scaled_sub(), numeric::xyzMatrix< T >::set_diagonal(), numeric::xyzVector< core::Real >::show(), numeric::xyzMatrix< T >::subtract_diagonal(), numeric::xyzMatrix< T >::to_diag(), numeric::xyzVector< core::Real >::to_string(), numeric::transpose_product(), numeric::update_5way_operation(), numeric::update_operation(), numeric::xyzVector< core::Real >::x(), and numeric::xyzVector< core::Real >::zero().

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

Referenced by numeric::xyzMatrix< T >::add_diagonal(), numeric::xyzVector< core::Real >::assign(), numeric::xyzVector< core::Real >::at(), numeric::xyzVector< core::Real >::clear(), numeric::xyzMatrix< T >::col(), numeric::xyzMatrix< T >::col_x(), numeric::xyzMatrix< T >::col_y(), numeric::xyzMatrix< T >::col_z(), numeric::xyzMatrix< T >::cols_constructor(), numeric::xyzVector< core::Real >::cross(), numeric::xyzVector< core::Real >::cross_product(), numeric::xyzMatrix< T >::diag(), numeric::xyzVector< core::Real >::distance(), numeric::xyzVector< core::Real >::distance_squared(), numeric::xyzVector< core::Real >::dot(), numeric::xyzVector< core::Real >::dot_product(), numeric::dot_product(), numeric::hash_value(), numeric::xyzVector< core::Real >::inner_product(), numeric::inplace_product(), numeric::inplace_transpose_product(), numeric::xyzVector< core::Real >::is_finite(), numeric::xyzVector< core::Real >::is_zero(), numeric::xyzVector< core::Real >::length(), numeric::xyzVector< core::Real >::length_squared(), numeric::xyzVector< core::Real >::magnitude(), numeric::xyzVector< core::Real >::magnitude_squared(), numeric::xyzVector< core::Real >::max(), numeric::xyzVector< core::Real >::maximum_value(), numeric::xyzVector< core::Real >::min(), numeric::xyzVector< core::Real >::minimum_value(), numeric::xyzVector< core::Real >::negate(), numeric::xyzVector< core::Real >::negated(), numeric::xyzVector< core::Real >::norm(), numeric::xyzVector< core::Real >::norm_squared(), numeric::xyzVector< core::Real >::normalize(), numeric::xyzVector< core::Real >::normalize_any(), numeric::xyzVector< core::Real >::normalize_or_zero(), numeric::xyzVector< core::Real >::normalized(), numeric::xyzVector< core::Real >::normalized_any(), numeric::xyzVector< core::Real >::normalized_or_zero(), numeric::xyzVector< core::Real >::operator()(), numeric::xyzMatrix< T >::operator*(), numeric::xyzVector< core::Real >::operator*=(), numeric::xyzVector< core::Real >::operator+=(), numeric::xyzVector< core::Real >::operator-(), numeric::xyzVector< core::Real >::operator-=(), numeric::xyzVector< core::Real >::operator/=(), numeric::xyzVector< core::Real >::operator=(), numeric::xyzVector< core::Real >::operator[](), numeric::outer_product(), numeric::product(), numeric::xyzVector< core::Real >::project_normal(), numeric::xyzVector< core::Real >::project_parallel(), numeric::xyzVector< core::Real >::projected_normal(), numeric::projection_matrix(), numeric::rotation_matrix(), numeric::xyzMatrix< T >::row(), numeric::xyzMatrix< T >::row_x(), numeric::xyzMatrix< T >::row_y(), numeric::xyzMatrix< T >::row_z(), numeric::xyzMatrix< T >::rows_constructor(), numeric::xyzVector< core::Real >::scaled_add(), numeric::xyzVector< core::Real >::scaled_assign(), numeric::xyzVector< core::Real >::scaled_sub(), numeric::xyzMatrix< T >::set_diagonal(), numeric::xyzVector< core::Real >::show(), numeric::xyzMatrix< T >::subtract_diagonal(), numeric::xyzMatrix< T >::to_diag(), numeric::xyzVector< core::Real >::to_string(), numeric::transpose_product(), numeric::update_5way_operation(), numeric::update_operation(), numeric::xyzVector< core::Real >::y(), and numeric::xyzVector< core::Real >::zero().

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

Referenced by numeric::xyzMatrix< T >::add_diagonal(), numeric::xyzVector< core::Real >::assign(), numeric::xyzVector< core::Real >::at(), numeric::xyzVector< core::Real >::clear(), numeric::xyzMatrix< T >::col(), numeric::xyzMatrix< T >::col_x(), numeric::xyzMatrix< T >::col_y(), numeric::xyzMatrix< T >::col_z(), numeric::xyzMatrix< T >::cols_constructor(), numeric::xyzVector< core::Real >::cross(), numeric::xyzVector< core::Real >::cross_product(), numeric::xyzMatrix< T >::diag(), numeric::xyzVector< core::Real >::distance(), numeric::xyzVector< core::Real >::distance_squared(), numeric::xyzVector< core::Real >::dot(), numeric::xyzVector< core::Real >::dot_product(), numeric::dot_product(), numeric::hash_value(), numeric::xyzVector< core::Real >::inner_product(), numeric::inplace_product(), numeric::inplace_transpose_product(), numeric::xyzVector< core::Real >::is_finite(), numeric::xyzVector< core::Real >::is_zero(), numeric::xyzVector< core::Real >::length(), numeric::xyzVector< core::Real >::length_squared(), numeric::xyzVector< core::Real >::magnitude(), numeric::xyzVector< core::Real >::magnitude_squared(), numeric::xyzVector< core::Real >::max(), numeric::xyzVector< core::Real >::maximum_value(), numeric::xyzVector< core::Real >::min(), numeric::xyzVector< core::Real >::minimum_value(), numeric::xyzVector< core::Real >::negate(), numeric::xyzVector< core::Real >::negated(), numeric::xyzVector< core::Real >::norm(), numeric::xyzVector< core::Real >::norm_squared(), numeric::xyzVector< core::Real >::normalize(), numeric::xyzVector< core::Real >::normalize_any(), numeric::xyzVector< core::Real >::normalize_or_zero(), numeric::xyzVector< core::Real >::normalized(), numeric::xyzVector< core::Real >::normalized_any(), numeric::xyzVector< core::Real >::normalized_or_zero(), numeric::xyzVector< core::Real >::operator()(), numeric::xyzMatrix< T >::operator*(), numeric::xyzVector< core::Real >::operator*=(), numeric::xyzVector< core::Real >::operator+=(), numeric::xyzVector< core::Real >::operator-(), numeric::xyzVector< core::Real >::operator-=(), numeric::xyzVector< core::Real >::operator/=(), numeric::xyzVector< core::Real >::operator=(), numeric::xyzVector< core::Real >::operator[](), numeric::outer_product(), numeric::product(), numeric::xyzVector< core::Real >::project_normal(), numeric::xyzVector< core::Real >::project_parallel(), numeric::xyzVector< core::Real >::projected_normal(), numeric::projection_matrix(), numeric::rotation_matrix(), numeric::xyzMatrix< T >::row(), numeric::xyzMatrix< T >::row_x(), numeric::xyzMatrix< T >::row_y(), numeric::xyzMatrix< T >::row_z(), numeric::xyzMatrix< T >::rows_constructor(), numeric::xyzVector< core::Real >::scaled_add(), numeric::xyzVector< core::Real >::scaled_assign(), numeric::xyzVector< core::Real >::scaled_sub(), numeric::xyzMatrix< T >::set_diagonal(), numeric::xyzVector< core::Real >::show(), numeric::xyzMatrix< T >::subtract_diagonal(), numeric::xyzMatrix< T >::to_diag(), numeric::xyzVector< core::Real >::to_string(), numeric::transpose_product(), numeric::update_5way_operation(), numeric::update_operation(), numeric::xyzVector< core::Real >::z(), and numeric::xyzVector< core::Real >::zero().


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