#include <cml/mathlib/vector_misc.h>
#include <cml/mathlib/misc.h>
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. |
Definition in file vector_ortho.h.