1 #ifndef SimTK_SimTKCOMMON_TRANSFORM_H
2 #define SimTK_SimTKCOMMON_TRANSFORM_H
43 template <
class P>
class Transform_;
140 { p_BF += offset_B;
return *
this; }
146 { p_BF -= offset_B;
return *
this; }
181 return Transform_( R_BF * X_FY.
R(), p_BF + R_BF * X_FY.
p() );
276 tmp.template updSubMat<3,4>(0,0) =
asMat34();
408 template <
class P,
int S>
inline Vec<3,P>
411 template <
class P,
int S>
inline Vec<3,P>
414 template <
class P,
int S>
inline Vec<3,P>
417 template <
class P,
int S>
inline Vec<3,P>
423 template <
class P,
int S>
inline Transform_<P>
444 template <
class P,
int S>
inline Vec<4,P>
446 assert(a_F[3]==0 || a_F[3]==1);
455 template <
class P,
int S>
inline Vec<4,P>
457 assert(a_F[3]==0 || a_F[3]==1);
465 template <
class P,
int S>
inline Vec<4,P>
467 template <
class P,
int S>
inline Vec<4,P>
474 template <
class P,
class E>
inline Vector_<E>
477 for (
int i = 0; i < v.
size(); ++i)
484 for (
int i = 0; i < v.
size(); ++i)
488 template <
class P,
class E>
inline RowVector_<E>
491 for (
int i = 0; i < v.
size(); ++i)
495 template <
class P,
class E>
inline RowVector_<E>
498 for (
int i = 0; i < v.
size(); ++i)
502 template <
class P,
class E>
inline Matrix_<E>
505 for (
int i = 0; i < v.
nrow(); ++i)
506 for (
int j = 0; j < v.
ncol(); ++j)
507 result(i, j) = X*v(i, j);
510 template <
class P,
class E>
inline Matrix_<E>
513 for (
int i = 0; i < v.
nrow(); ++i)
514 for (
int j = 0; j < v.
ncol(); ++j)
515 result(i, j) = X*v(i, j);
518 template <
class P,
int N,
class E,
int S>
inline Vec<N,E>
521 for (
int i = 0; i < N; ++i)
525 template <
class P,
int N,
class E,
int S>
inline Vec<N,E>
528 for (
int i = 0; i < N; ++i)
532 template <
class P,
int N,
class E,
int S>
inline Row<N,E>
535 for (
int i = 0; i < N; ++i)
539 template <
class P,
int N,
class E,
int S>
inline Row<N,E>
542 for (
int i = 0; i < N; ++i)
546 template <
class P,
int M,
int N,
class E,
int CS,
int RS>
inline Mat<M,N,E>
549 for (
int i = 0; i < M; ++i)
550 for (
int j = 0; j < N; ++j)
551 result(i, j) = X*v(i, j);
554 template <
class P,
int M,
int N,
class E,
int CS,
int RS>
inline Mat<M,N,E>
557 for (
int i = 0; i < M; ++i)
558 for (
int j = 0; j < N; ++j)
559 result(i, j) = X*v(i, j);
565 template <
class P>
inline Transform_<P>&
586 template <
class P>
inline Transform_<P>
588 template <
class P>
inline Transform_<P>
594 template <
class P>
inline bool
596 template <
class P>
inline bool
598 template <
class P>
inline bool
600 template <
class P>
inline bool
606 operator<<(std::ostream&, const Transform_<P>&);
610 operator<<(std::ostream&, const InverseTransform_<P>&);
618 #endif // SimTK_SimTKCOMMON_TRANSFORM_H