1 #ifndef SimTK_SimTKCOMMON_TRANSFORM_H  
    2 #define SimTK_SimTKCOMMON_TRANSFORM_H  
   43 template <
class P> 
class Transform_;
 
   44 template <
class P> 
class InverseTransform_;
 
  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 
This file defines the client side of the SimTK::Matrix classes, which hold medium to large,...
 
#define SimTK_SimTKCOMMON_EXPORT
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:224
 
This file is the user-includeable header to be included in user programs to provide fixed-length Vec ...
 
Declares and defines the UnitVec and UnitRow classes.
 
(Advanced) This InverseRotation class is the inverse of a Rotation.
Definition: Rotation.h:1283
 
This class represents a small matrix whose size is known at compile time, containing elements of any ...
Definition: Mat.h:97
 
static const Mat & getAs(const ELT *p)
Definition: Mat.h:1081
 
This is the common base class for Simbody's Vector_ and Matrix_ classes for handling large,...
Definition: MatrixBase.h:68
 
int nrow() const
Return the number of rows m in the logical shape of this matrix.
Definition: MatrixBase.h:136
 
int ncol() const
Return the number of columns n in the logical shape of this matrix.
Definition: MatrixBase.h:138
 
This is the matrix class intended to appear in user code for large, variable size matrices.
Definition: Matrix_.h:51
 
The Rotation class is a Mat33 that guarantees that the matrix can be interpreted as a legitimate 3x3 ...
Definition: Rotation.h:111
 
This is a dataless rehash of the MatrixBase class to specialize it for RowVectors.
Definition: RowVectorBase.h:42
 
int size() const
Definition: RowVectorBase.h:237
 
Represents a variable size row vector; much less common than the column vector type Vector_.
Definition: RowVector_.h:52
 
This is a fixed-length row vector designed for no-overhead inline computation.
Definition: Row.h:132
 
This class is a Vec3 plus an ironclad guarantee either that:
Definition: UnitVec.h:56
 
void setToNaN()
Set every scalar in this Vec to NaN; this is the default initial value in Debug builds,...
Definition: Vec.h:812
 
static const Vec & getAs(const ELT *p)
Recast an ordinary C++ array E[] to a const Vec<M,E,S>; assumes compatible length,...
Definition: Vec.h:904
 
static Vec & updAs(ELT *p)
Recast a writable ordinary C++ array E[] to a writable Vec<M,E,S>; assumes compatible length,...
Definition: Vec.h:908
 
This is a dataless rehash of the MatrixBase class to specialize it for Vectors.
Definition: VectorBase.h:42
 
int size() const
Definition: VectorBase.h:396
 
This is the vector class intended to appear in user code for large, variable size column vectors.
Definition: Vector_.h:50
 
negator<N>, where N is a number type (real, complex, conjugate), is represented in memory identically...
Definition: negator.h:75
 
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
 
Transform_< double > dTransform
Definition: Transform.h:48
 
std::ostream & operator<<(std::ostream &o, const ContactForce &f)
Definition: CompliantContactSubsystem.h:387
 
Matrix_< E > operator*(const MatrixBase< E > &l, const typename CNT< E >::StdNumber &r)
Definition: BigMatrix.h:605
 
bool operator==(const PhiMatrix &p1, const PhiMatrix &p2)
Definition: SpatialAlgebra.h:791
 
Transform_< Real > Transform
Definition: Transform.h:44
 
Transform_< float > fTransform
Definition: Transform.h:47