Rosetta 3.3
Classes | Namespaces | Functions
src/numeric/xyzVector.hh File Reference

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

#include <numeric/xyzVector.fwd.hh>
#include <numeric/xyzMatrix.fwd.hh>
#include <numeric/xyz.functions.fwd.hh>
#include <numeric/trig.functions.hh>
#include <cassert>
#include <cmath>

Classes

class  numeric::xyzVector< T >
 xyzVector: Fast (x,y,z)-coordinate numeric vector More...

Namespaces

namespace  numeric
 

A 1D histogram based upon a map structure.


Functions

template<typename T >
xyzVector< T > numeric::operator+ (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector + xyzVector
template<typename T >
xyzVector< T > numeric::operator+ (xyzVector< T > const &v, T const &t)
 xyzVector + T
template<typename T >
xyzVector< T > numeric::operator+ (T const &t, xyzVector< T > const &v)
 T + xyzVector.
template<typename T >
xyzVector< T > numeric::operator- (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector - xyzVector
template<typename T >
xyzVector< T > numeric::operator- (xyzVector< T > const &v, T const &t)
 xyzVector - T
template<typename T >
xyzVector< T > numeric::operator- (T const &t, xyzVector< T > const &v)
 T - xyzVector.
template<typename T >
xyzVector< T > numeric::operator* (xyzVector< T > const &v, T const &t)
 xyzVector * T
template<typename T >
xyzVector< T > numeric::operator* (T const &t, xyzVector< T > const &v)
 T * xyzVector.
template<typename T >
xyzVector< T > numeric::operator/ (xyzVector< T > const &v, T const &t)
 xyzVector / T
template<typename T >
void numeric::add (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &r)
 Add: xyzVector + xyzVector.
template<typename T >
void numeric::add (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Add: xyzVector + T.
template<typename T >
void numeric::add (T const &t, xyzVector< T > const &v, xyzVector< T > &r)
 Add: T + xyzVector.
template<typename T >
void numeric::subtract (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &r)
 Subtract: xyzVector - xyzVector.
template<typename T >
void numeric::subtract (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Subtract: xyzVector - T.
template<typename T >
void numeric::subtract (T const &t, xyzVector< T > const &v, xyzVector< T > &r)
 Subtract: T - xyzVector.
template<typename T >
void numeric::multiply (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Multiply: xyzVector * T.
template<typename T >
void numeric::multiply (T const &t, xyzVector< T > const &v, xyzVector< T > &r)
 Multiply: T * xyzVector.
template<typename T >
void numeric::divide (xyzVector< T > const &v, T const &t, xyzVector< T > &r)
 Divide: xyzVector / T.
template<typename T >
xyzVector< T > numeric::min (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector with min coordinates of two xyzVectors
template<typename T >
xyzVector< T > numeric::max (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector with max coordinates of two xyzVectors
template<typename T >
numeric::distance (xyzVector< T > const &a, xyzVector< T > const &b)
 Distance.
template<typename T >
numeric::distance_squared (xyzVector< T > const &a, xyzVector< T > const &b)
 Distance squared.
template<typename T >
numeric::dot (xyzVector< T > const &a, xyzVector< T > const &b)
 Dot product.
template<typename T >
numeric::dot_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Dot product.
template<typename T >
numeric::inner_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Inner product ( == dot product )
template<typename T >
xyzVector< T > numeric::cross (xyzVector< T > const &a, xyzVector< T > const &b)
 Cross product.
template<typename T >
xyzVector< T > numeric::cross_product (xyzVector< T > const &a, xyzVector< T > const &b)
 Cross product.
template<typename T >
void numeric::cross (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &c)
 Cross product: Return via argument (slightly faster)
template<typename T >
void numeric::cross_product (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &c)
 Cross product: Return via argument (slightly faster)
template<typename T >
xyzVector< T > numeric::midpoint (xyzVector< T > const &a, xyzVector< T > const &b)
 Midpoint of 2 xyzVectors.
template<typename T >
void numeric::midpoint (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &m)
 Midpoint of 2 xyzVectors: Return via argument (slightly faster)
template<typename T >
xyzVector< T > numeric::center (xyzVector< T > const &a, xyzVector< T > const &b)
 Center of 2 xyzVectors.
template<typename T >
void numeric::center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > &m)
 Center of 2 xyzVectors: Return via argument (slightly faster)
template<typename T >
xyzVector< T > numeric::center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Center of 3 xyzVectors.
template<typename T >
void numeric::center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c, xyzVector< T > &m)
 Center of 3 xyzVectors: Return via argument (slightly faster)
template<typename T >
xyzVector< T > numeric::center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c, xyzVector< T > const &d)
 Center of 4 xyzVectors.
template<typename T >
void numeric::center (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c, xyzVector< T > const &d, xyzVector< T > &m)
 Center of 4 xyzVectors: Return via argument (slightly faster)
template<typename T >
numeric::angle_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Angle between two vectors (in radians on [ 0, pi ])
template<typename T >
numeric::angle_of (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Angle formed by three consecutive points (in radians on [ 0, pi ])
template<typename T >
numeric::cos_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Cosine of angle between two vectors.
template<typename T >
numeric::cos_of (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Cosine of angle formed by three consecutive points.
template<typename T >
numeric::sin_of (xyzVector< T > const &a, xyzVector< T > const &b)
 Sine of angle between two vectors.
template<typename T >
numeric::sin_of (xyzVector< T > const &a, xyzVector< T > const &b, xyzVector< T > const &c)
 Sine of angle formed by three consecutive points.
template<typename T >
bool numeric::operator== (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector == xyzVector
template<typename T >
bool numeric::operator!= (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector != xyzVector
template<typename T >
bool numeric::operator< (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector < xyzVector
template<typename T >
bool numeric::operator<= (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector <= xyzVector
template<typename T >
bool numeric::operator>= (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector >= xyzVector
template<typename T >
bool numeric::operator> (xyzVector< T > const &a, xyzVector< T > const &b)
 xyzVector > xyzVector
template<typename T >
bool numeric::operator== (xyzVector< T > const &v, T const &t)
 xyzVector == T
template<typename T >
bool numeric::operator!= (xyzVector< T > const &v, T const &t)
 xyzVector != T
template<typename T >
bool numeric::operator< (xyzVector< T > const &v, T const &t)
 xyzVector < T
template<typename T >
bool numeric::operator<= (xyzVector< T > const &v, T const &t)
 xyzVector <= T
template<typename T >
bool numeric::operator>= (xyzVector< T > const &v, T const &t)
 xyzVector >= T
template<typename T >
bool numeric::operator> (xyzVector< T > const &v, T const &t)
 xyzVector > T
template<typename T >
bool numeric::operator== (T const &t, xyzVector< T > const &v)
 T == xyzVector.
template<typename T >
bool numeric::operator!= (T const &t, xyzVector< T > const &v)
 T != xyzVector.
template<typename T >
bool numeric::operator< (T const &t, xyzVector< T > const &v)
 T < xyzVector.
template<typename T >
bool numeric::operator<= (T const &t, xyzVector< T > const &v)
 T <= xyzVector.
template<typename T >
bool numeric::operator>= (T const &t, xyzVector< T > const &v)
 T >= xyzVector.
template<typename T >
bool numeric::operator> (T const &t, xyzVector< T > const &v)
 T > xyzVector.
template<typename T >
bool numeric::equal_length (xyzVector< T > const &a, xyzVector< T > const &b)
 Equal length?
template<typename T >
bool numeric::not_equal_length (xyzVector< T > const &a, xyzVector< T > const &b)
 Not equal length?

Detailed Description

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

Author:
Frank M. D'Ippolito (Objexx@objexx.com)
Stuart G. Mentzer (Stuart_Mentzer@objexx.com)
Remarks:
  • Inline, loop-free functions for speed
  • Non-virtual destructor for speed: Not set up for use as a base class
  • Pointer constructor and assignment not available for xyzVectors of pointers
  • Numeric vector semantics: spatial partial ordering
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines