A 3x3 inertia matrix.  
 More...
#include <InertiaMatrix.hpp>
 | 
| 
typedef Eigen::Matrix< T, 3, 3 >  | Base | 
|   | The type of the internal Eigen matrix implementation. 
  | 
|   | 
 | 
|   | InertiaMatrix (T r11, T r12, T r13, T r21, T r22, T r23, T r31, T r32, T r33) | 
|   | Constructs an initialized 3x3 rotation matrix.  More...
  | 
|   | 
|   | InertiaMatrix (const rw::math::Vector3D< T > &i, const rw::math::Vector3D< T > &j, const rw::math::Vector3D< T > &k) | 
|   | Constructs an initialized 3x3 rotation matrix \( \robabx{a}{b}{\mathbf{R}} = \left[ \begin{array}{ccc} \robabx{a}{b}{\mathbf{i}} & \robabx{a}{b}{\mathbf{j}} & \robabx{a}{b}{\mathbf{k}} \end{array} \right] \).  More...
  | 
|   | 
|   | InertiaMatrix (T i=0.0, T j=0.0, T k=0.0) | 
|   | constructor - where only the diagonal is set  More...
  | 
|   | 
| 
  | InertiaMatrix (const Base &r) | 
|   | Construct an internal matrix from a Eigen::MatrixBase It is the responsibility of the user that 3x3 matrix is indeed an inertia matrix. 
  | 
|   | 
| T &  | operator() (size_t row, size_t column) | 
|   | Returns reference to matrix element.  More...
  | 
|   | 
| const T &  | operator() (size_t row, size_t column) const | 
|   | Returns reference to matrix element.  More...
  | 
|   | 
| 
const Base &  | e () const | 
|   | Returns reference to the internal 3x3 matrix. 
  | 
|   | 
| 
Base &  | e () | 
|   | Returns reference to the internal 3x3 matrix. 
  | 
|   | 
| InertiaMatrix  | operator* (const rw::math::Rotation3D< T > &bRc) const | 
|   | Calculates \( \robabx{a}{c}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{R}} \).  More...
  | 
|   | 
| 
InertiaMatrix  | operator+ (const InertiaMatrix &I2) const | 
|   | Calculates the addition between the two InertiaMatrices. 
  | 
|   | 
| rw::math::Vector3D< T >  | operator* (const rw::math::Vector3D< T > &bVc) const | 
|   | Calculates \( \robabx{a}{c}{\mathbf{v}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{v}} \).  More...
  | 
|   | 
| bool  | operator== (const InertiaMatrix &rhs) const | 
|   | Comparison operator.  More...
  | 
|   | 
| bool  | operator!= (const InertiaMatrix &rhs) const | 
|   | Comparison operator.  More...
  | 
|   | 
| rw::math::Vector3D< T >  | diag () const | 
|   | get The diagonal of the Matrix  More...
  | 
|   | 
template<class T = double>
class rw::math::InertiaMatrix< T >
A 3x3 inertia matrix. 
 
◆ InertiaMatrix() [1/3]
  
  
      
        
          | InertiaMatrix  | 
          ( | 
          T  | 
          r11,  | 
         
        
           | 
           | 
          T  | 
          r12,  | 
         
        
           | 
           | 
          T  | 
          r13,  | 
         
        
           | 
           | 
          T  | 
          r21,  | 
         
        
           | 
           | 
          T  | 
          r22,  | 
         
        
           | 
           | 
          T  | 
          r23,  | 
         
        
           | 
           | 
          T  | 
          r31,  | 
         
        
           | 
           | 
          T  | 
          r32,  | 
         
        
           | 
           | 
          T  | 
          r33  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Constructs an initialized 3x3 rotation matrix. 
- Parameters
 - 
  
    | r11 | \( r_{11} \)  | 
    | r12 | \( r_{12} \)  | 
    | r13 | \( r_{13} \)  | 
    | r21 | \( r_{21} \)  | 
    | r22 | \( r_{22} \)  | 
    | r23 | \( r_{23} \)  | 
    | r31 | \( r_{31} \)  | 
    | r32 | \( r_{32} \)  | 
    | r33 | \( r_{33} \) | 
  
   
\( \mathbf{R} = \left[ \begin{array}{ccc} r_{11} & r_{12} & r_{13} \\ r_{21} & r_{22} & r_{23} \\ r_{31} & r_{32} & r_{33} \end{array} \right] \) 
 
 
◆ InertiaMatrix() [2/3]
Constructs an initialized 3x3 rotation matrix \( \robabx{a}{b}{\mathbf{R}} = \left[ \begin{array}{ccc} \robabx{a}{b}{\mathbf{i}} & \robabx{a}{b}{\mathbf{j}} & \robabx{a}{b}{\mathbf{k}} \end{array} \right] \). 
- Parameters
 - 
  
    | i | \( \robabx{a}{b}{\mathbf{i}} \)  | 
    | j | \( \robabx{a}{b}{\mathbf{j}} \)  | 
    | k | \( \robabx{a}{b}{\mathbf{k}} \)  | 
  
   
 
 
◆ InertiaMatrix() [3/3]
constructor - where only the diagonal is set 
- Parameters
 - 
  
    | i | [in] m(0,0)  | 
    | j | [in] m(1,1)  | 
    | k | [in] m(2,2)  | 
  
   
 
 
◆ diag()
◆ makeCuboidInertia()
  
  
      
        
          | static InertiaMatrix<T> makeCuboidInertia  | 
          ( | 
          T  | 
          mass,  | 
         
        
           | 
           | 
          T  | 
          x,  | 
         
        
           | 
           | 
          T  | 
          y,  | 
         
        
           | 
           | 
          T  | 
          z  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
calculates the inertia of a cuboid where the reference frame is in the center of the cuboid with 
- Parameters
 - 
  
  
 
- Returns
 
 
 
◆ makeHollowSphereInertia()
  
  
      
        
          | static InertiaMatrix<T> makeHollowSphereInertia  | 
          ( | 
          T  | 
          mass,  | 
         
        
           | 
           | 
          T  | 
          radi  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Make inertia matrix for a hollow sphere. 
- Parameters
 - 
  
    | mass | [in] mass of hollow sphere.  | 
    | radi | [in] radius of sphere.  | 
  
   
- Returns
 - the inertia matrix. 
 
 
 
◆ makeSolidSphereInertia()
  
  
      
        
          | static InertiaMatrix<T> makeSolidSphereInertia  | 
          ( | 
          T  | 
          mass,  | 
         
        
           | 
           | 
          T  | 
          radi  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestatic   | 
  
 
Make inertia matrix for a solid sphere. 
- Parameters
 - 
  
    | mass | [in] mass of solid sphere.  | 
    | radi | [in] radius of sphere.  | 
  
   
- Returns
 - the inertia matrix. 
 
 
 
◆ operator!=()
Comparison operator. 
The comparison operator makes a element wise comparison. Returns true if any of the elements are different.
- Parameters
 - 
  
  
 
- Returns
 - True if not equal. 
 
 
 
◆ operator()() [1/2]
  
  
      
        
          | T& operator()  | 
          ( | 
          size_t  | 
          row,  | 
         
        
           | 
           | 
          size_t  | 
          column  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Returns reference to matrix element. 
- Parameters
 - 
  
    | row | [in] row  | 
    | column | [in] column  | 
  
   
- Returns
 - reference to the element 
 
 
 
◆ operator()() [2/2]
  
  
      
        
          | const T& operator()  | 
          ( | 
          size_t  | 
          row,  | 
         
        
           | 
           | 
          size_t  | 
          column  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inline   | 
  
 
Returns reference to matrix element. 
- Parameters
 - 
  
    | row | [in] row  | 
    | column | [in] column  | 
  
   
- Returns
 - reference to the element 
 
 
 
◆ operator*() [1/2]
Calculates \( \robabx{a}{c}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{R}} \). 
- Parameters
 - 
  
    | bRc | [in] \( \robabx{b}{c}{\mathbf{R}} \)  | 
  
   
- Returns
 - \( \robabx{a}{c}{\mathbf{R}} \) 
 
 
 
◆ operator*() [2/2]
Calculates \( \robabx{a}{c}{\mathbf{v}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{v}} \). 
- Parameters
 - 
  
    | bVc | [in] \( \robabx{b}{c}{\mathbf{v}} \)  | 
  
   
- Returns
 - \( \robabx{a}{c}{\mathbf{v}} \) 
 
 
 
◆ operator==()
Comparison operator. 
The comparison operator makes a element wise comparison. Returns true only if all elements are equal.
- Parameters
 - 
  
  
 
- Returns
 - True if equal. 
 
 
 
◆ operator*
Calculates \( \robabx{a}{c}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{R}} \). 
- Parameters
 - 
  
    | aRb | [in] \( \robabx{a}{b}{\mathbf{R}} \)  | 
    | bRc | [in] \( \robabx{b}{c}{\mathbf{R}} \)  | 
  
   
- Returns
 - \( \robabx{a}{c}{\mathbf{R}} \) 
 
 
 
◆ operator<<
  
  
      
        
          | std::ostream& operator<<  | 
          ( | 
          std::ostream &  | 
          os,  | 
         
        
           | 
           | 
          const InertiaMatrix< T > &  | 
          r  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
friend   | 
  
 
Writes rotation matrix to stream. 
- Parameters
 - 
  
    | os | [in/out] output stream to use  | 
    | r | [in] rotation matrix to print  | 
  
   
- Returns
 - the updated output stream 
 
 
 
◆ read() [1/2]
Enable read-serialization of class T by overloading this method. Data is read from iarchive and filled into sobject. 
- Parameters
 - 
  
    | sobject | [out] the object in which the data should be streamed into  | 
    | iarchive | [in] the InputArchive from which to read data.  | 
    | id | [in] The id of the serialized sobject. | 
  
   
- Note
 - the id can be empty in which case the overloaded method should provide a default identifier. E.g. the Vector3D class defined "Vector3D" as its default id. 
 
 
 
◆ read() [2/2]
Enable read-serialization of class T by overloading this method. Data is read from iarchive and filled into sobject. 
- Parameters
 - 
  
    | sobject | [out] the object in which the data should be streamed into  | 
    | iarchive | [in] the InputArchive from which to read data.  | 
    | id | [in] The id of the serialized sobject. | 
  
   
- Note
 - the id can be empty in which case the overloaded method should provide a default identifier. E.g. the Vector3D class defined "Vector3D" as its default id. 
 
 
 
◆ write() [1/2]
Enable write-serialization of class T by overloading this method. Data is written to oarchive from the sobject. 
- Parameters
 - 
  
    | sobject | [in] the object from which the data should be streamed.  | 
    | oarchive | [out] the OutputArchive in which data should be written.  | 
    | id | [in] The id of the serialized sobject. | 
  
   
- Note
 - the id can be empty in which case the overloaded method should provide a default identifier. E.g. the Vector3D class defined "Vector3D" as its default id. 
 
 
 
◆ write() [2/2]
Enable write-serialization of class T by overloading this method. Data is written to oarchive from the sobject. 
- Parameters
 - 
  
    | sobject | [in] the object from which the data should be streamed.  | 
    | oarchive | [out] the OutputArchive in which data should be written.  | 
    | id | [in] The id of the serialized sobject. | 
  
   
- Note
 - the id can be empty in which case the overloaded method should provide a default identifier. E.g. the Vector3D class defined "Vector3D" as its default id. 
 
 
 
The documentation for this class was generated from the following files: