Macros | Functions
vgl_vector_3d.hxx File Reference
#include <cmath>
#include <iostream>
#include <string>
#include "vgl_vector_3d.h"
#include "vgl_tolerance.h"
#include <vcl_compiler_detection.h>
#include <cassert>
#include <vcl_deprecated.h>

Go to the source code of this file.

Macros

#define VGL_VECTOR_3D_INSTANTIATE(T)
 

Functions

template<class T >
double angle (vgl_vector_3d< T > const &a, vgl_vector_3d< T > const &b)
 
template<class T >
bool orthogonal (vgl_vector_3d< T > const &a, vgl_vector_3d< T > const &b, double eps)
 
template<class T >
bool parallel (vgl_vector_3d< T > const &a, vgl_vector_3d< T > const &b, double eps)
 
template<class T >
vgl_vector_3d< T > orthogonal_vectors (vgl_vector_3d< T > const &a, double s)
 
template<class T >
std::ostream & operator<< (std::ostream &s, vgl_vector_3d< T > const &p)
 Write "<vgl_vector_3d x,y,z> " to stream. More...
 
template<class T >
std::istream & operator>> (std::istream &is, vgl_vector_3d< T > &p)
 Read from stream, possibly with formatting. More...
 

Macro Definition Documentation

◆ VGL_VECTOR_3D_INSTANTIATE

#define VGL_VECTOR_3D_INSTANTIATE (   T)
Value:
template class vgl_vector_3d<T >;\
/*template vgl_vector_3d<T > operator+ (vgl_vector_3d<T > const&, vgl_vector_3d<T > const&); */\
/*template vgl_vector_3d<T > operator- (vgl_vector_3d<T > const&, vgl_vector_3d<T > const&); */\
/*template vgl_vector_3d<T >& operator+= (vgl_vector_3d<T >&, vgl_vector_3d<T > const&); */\
/*template vgl_vector_3d<T >& operator-= (vgl_vector_3d<T >&, vgl_vector_3d<T > const&); */\
/*template vgl_vector_3d<T > operator+ (vgl_vector_3d<T > const&); */\
/*template vgl_vector_3d<T > operator- (vgl_vector_3d<T > const&); */\
/*template vgl_vector_3d<T > operator* (double, vgl_vector_3d<T > const&); */\
/*template vgl_vector_3d<T > operator* (vgl_vector_3d<T > const&, double); */\
/*template vgl_vector_3d<T > operator/ (vgl_vector_3d<T > const&, double); */\
/*template vgl_vector_3d<T >& operator*= (vgl_vector_3d<T >&, double); */\
/*template vgl_vector_3d<T >& operator/= (vgl_vector_3d<T >&, double); */\
/*template T dot_product (vgl_vector_3d<T > const&, vgl_vector_3d<T > const&); */\
/*template T inner_product (vgl_vector_3d<T > const&, vgl_vector_3d<T > const&); */\
/*template vgl_vector_3d<T > cross_product (vgl_vector_3d<T > const&, vgl_vector_3d<T > const&); */\
/*template double cos_angle (vgl_vector_3d<T > const&, vgl_vector_3d<T > const&); */\
template double angle (vgl_vector_3d<T > const&, vgl_vector_3d<T > const&);\
template bool orthogonal (vgl_vector_3d<T > const&, vgl_vector_3d<T > const&, double);\
template bool parallel (vgl_vector_3d<T > const&, vgl_vector_3d<T > const&, double);\
/*template double operator/ (vgl_vector_3d<T > const&, vgl_vector_3d<T > const&); */\
/*template vgl_vector_3d<T >& normalize (vgl_vector_3d<T >&); */\
/*template vgl_vector_3d<T > normalized (vgl_vector_3d<T > const&); */\
template std::ostream& operator<< (std::ostream&, vgl_vector_3d<T >const&);\
template std::istream& operator>> (std::istream&, vgl_vector_3d<T >&)
vgl_vector_3d< T > orthogonal_vectors(vgl_vector_3d< T > const &a, double s)
bool orthogonal(v const &a, v const &b, double eps=0.0)
are two vectors orthogonal, i.e., is their dot product zero?.
std::ostream & operator<<(std::ostream &s, vgl_orient_box_3d< Type > const &p)
Write box to stream.
Direction vector in Euclidean 3D space, templated by type of element.
Definition: vgl_fwd.h:13
std::istream & operator>>(std::istream &is, vgl_orient_box_3d< Type > &p)
Read box from stream.
double angle(v const &a, v const &b)
smallest angle between two vectors (in radians, between 0 and Pi).
bool parallel(v const &a, v const &b, double eps=0.0)
are two vectors parallel, i.e., is one a scalar multiple of the other?.

Definition at line 204 of file vgl_vector_3d.hxx.

Function Documentation

◆ angle()

template<class T >
double angle ( vgl_vector_3d< T > const &  a,
vgl_vector_3d< T > const &  b 
)

Definition at line 36 of file vgl_vector_3d.hxx.

◆ operator<<()

template<class T >
std::ostream& operator<< ( std::ostream &  s,
vgl_vector_3d< T > const &  p 
)

Write "<vgl_vector_3d x,y,z> " to stream.

Definition at line 125 of file vgl_vector_3d.hxx.

◆ operator>>()

template<class T >
std::istream & operator>> ( std::istream &  is,
vgl_vector_3d< T > &  p 
)

Read from stream, possibly with formatting.

Either just reads three blank-separated numbers, or reads three comma-separated numbers, or reads three numbers in parenthesized form "(123, 321, 567)"

Definition at line 198 of file vgl_vector_3d.hxx.

◆ orthogonal()

template<class T >
bool orthogonal ( vgl_vector_3d< T > const &  a,
vgl_vector_3d< T > const &  b,
double  eps 
)

Definition at line 52 of file vgl_vector_3d.hxx.

◆ orthogonal_vectors()

template<class T >
vgl_vector_3d<T> orthogonal_vectors ( vgl_vector_3d< T > const &  a,
double  s 
)

Definition at line 71 of file vgl_vector_3d.hxx.

◆ parallel()

template<class T >
bool parallel ( vgl_vector_3d< T > const &  a,
vgl_vector_3d< T > const &  b,
double  eps 
)

Definition at line 62 of file vgl_vector_3d.hxx.