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

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

#include <numeric/xyzTriple.fwd.hh>
#include <numeric/trig.functions.hh>
#include <cassert>
#include <cmath>

Classes

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

Namespaces

namespace  numeric
 

A 1D histogram based upon a map structure.


Functions

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

Detailed Description

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

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 xyzTriples of pointers
  • Container semantics: lexicographic complete ordering
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines