vector_ortho.h File Reference

Functions for orthonormalizing a set of basis vectors in 3D or 2D, and for constructing an orthonormal basis given various input parameters. More...

#include <cml/mathlib/vector_misc.h>
#include <cml/mathlib/misc.h>

Include dependency graph for vector_ortho.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  cml

Functions

template<class VecT , typename E , class A >
void cml::orthonormal_basis (const VecT &align, vector< E, A > &x, vector< E, A > &y, vector< E, A > &z, bool normalize_align=true, AxisOrder order=axis_order_zyx)
 This version of orthonormal_basis() constructs in arbitrary basis given a vector with which to align the i'th basis vector.
template<class VecT_1 , class VecT_2 , typename E , class A >
void cml::orthonormal_basis (const VecT_1 &align, const VecT_2 &reference, vector< E, A > &x, vector< E, A > &y, vector< E, A > &z, bool normalize_align=true, AxisOrder order=axis_order_zyx)
 This version of orthonormal_basis() ultimately does the work for all orthonormal_basis_*() functions.
template<class VecT , typename E , class A >
void cml::orthonormal_basis_2D (const VecT &align, vector< E, A > &x, vector< E, A > &y, bool normalize_align=true, AxisOrder2D order=axis_order_xy)
 Build a 2D orthonormal basis.
template<class VecT_1 , class VecT_2 , typename E , class A >
void cml::orthonormal_basis_axial (const VecT_1 &align, const VecT_2 &axis, vector< E, A > &x, vector< E, A > &y, vector< E, A > &z, bool normalize_align=true, AxisOrder order=axis_order_zyx)
 orthonormal_basis_axial() generates a basis in which the j'th basis vector is aligned with 'axis' and the i'th basis vector is maximally aligned (as 'aligned as possible') with 'align'.
template<class MatT , typename E , class A >
void cml::orthonormal_basis_viewplane (const MatT &view_matrix, vector< E, A > &x, vector< E, A > &y, vector< E, A > &z, Handedness handedness, AxisOrder order=axis_order_zyx)
 orthonormal_basis_viewplane() builds a basis aligned with a viewplane, as extracted from the input view matrix.
template<class MatT , typename E , class A >
void cml::orthonormal_basis_viewplane_LH (const MatT &view_matrix, vector< E, A > &x, vector< E, A > &y, vector< E, A > &z, AxisOrder order=axis_order_zyx)
 Build a viewplane-oriented basis from a left-handedness view matrix.
template<class MatT , typename E , class A >
void cml::orthonormal_basis_viewplane_RH (const MatT &view_matrix, vector< E, A > &x, vector< E, A > &y, vector< E, A > &z, AxisOrder order=axis_order_zyx)
 Build a viewplane-oriented basis from a right-handedness view matrix.
template<typename E , class A >
void cml::orthonormalize (vector< E, A > &v0, vector< E, A > &v1, size_t stable_axis=0, size_t num_iter=0, E s=E(1))
 Orthonormalize 2 basis vectors in R2.
template<typename E , class A >
void cml::orthonormalize (vector< E, A > &v0, vector< E, A > &v1, vector< E, A > &v2, size_t stable_axis=2, size_t num_iter=0, E s=E(1))
 Orthonormalize 3 basis vectors in R3.


Detailed Description

Functions for orthonormalizing a set of basis vectors in 3D or 2D, and for constructing an orthonormal basis given various input parameters.

Definition in file vector_ortho.h.


Generated on Sat Jul 18 19:35:36 2009 for CML 1.0 by  doxygen 1.5.9