HDK
|
#include "ImathNamespace.h"
Go to the source code of this file.
Functions | |
Functions for computing reference frames | |
These methods compute a set of reference frames, defined by their transformation matrix, along a curve. It is designed so that the array of points and the array of matrices used to fetch these routines don't need to be ordered as the curve. A typical usage would be : m[0] = IMATH_INTERNAL_NAMESPACE::firstFrame( p[0], p[1], p[2] ); for( int i = 1; i < n - 1; i++ ) { m[i] = IMATH_INTERNAL_NAMESPACE::nextFrame( m[i-1], p[i-1], p[i], t[i-1], t[i] ); } m[n-1] = IMATH_INTERNAL_NAMESPACE::lastFrame( m[n-2], p[n-2], p[n-1] ); See Graphics Gems I for the underlying algorithm. | |
template<class T > | |
Matrix44< T > constexpr | firstFrame (const Vec3< T > &, const Vec3< T > &, const Vec3< T > &) IMATH_NOEXCEPT |
template<class T > | |
Matrix44< T > constexpr | nextFrame (const Matrix44< T > &, const Vec3< T > &, const Vec3< T > &, Vec3< T > &, Vec3< T > &) IMATH_NOEXCEPT |
template<class T > | |
Matrix44< T > constexpr | lastFrame (const Matrix44< T > &, const Vec3< T > &, const Vec3< T > &) IMATH_NOEXCEPT |
Matrix44< T > constexpr firstFrame | ( | const Vec3< T > & | pi, |
const Vec3< T > & | pj, | ||
const Vec3< T > & | pk | ||
) |
Compute the first reference frame along a curve.
This function returns the transformation matrix to the reference frame defined by the three points pi
, pj
and pk
. Note that if the two vectors <pi
,pj
> and <pi
,pk
> are colinears, an arbitrary twist value will be choosen.
Throw std::domain_error
if pi
and pj
are equal.
pi | First point |
pj | Second point |
pk | Third point |
Definition at line 78 of file ImathFrame.h.
Matrix44< T > constexpr lastFrame | ( | const Matrix44< T > & | Mi, |
const Vec3< T > & | pi, | ||
const Vec3< T > & | pj | ||
) |
Compute the last reference frame along a curve.
This function returns the transformation matrix to the last reference frame defined by the previously computed transformation matrix and the last point along the curve.
Mi | The previous matrix |
pi | The previous point |
pj | The last point |
Definition at line 202 of file ImathFrame.h.
Matrix44< T > constexpr nextFrame | ( | const Matrix44< T > & | Mi, |
const Vec3< T > & | pi, | ||
const Vec3< T > & | pj, | ||
Vec3< T > & | ti, | ||
Vec3< T > & | tj | ||
) |
Compute the next reference frame along a curve.
This function returns the transformation matrix to the next reference frame defined by the previously computed transformation matrix and the new point and tangent vector along the curve.
Mi | The previous matrix |
pi | The previous point |
pj | The current point |
ti | The previous tangent vector |
tj | The current tangent vector |
Rotation axis.
Definition at line 139 of file ImathFrame.h.