- 3.0.2 rigid body dynamics module.
SelectionMatrix.h
Go to the documentation of this file.
1 /**********************************************************************************************************************
2 This file is part of the Control Toolbox (https://github.com/ethz-adrl/control-toolbox), copyright by ETH Zurich.
3 Licensed under the BSD-2 license (see LICENSE file in main directory)
4 **********************************************************************************************************************/
5 
6 #pragma once
7 
8 namespace ct {
9 namespace rbd {
10 
22 template <size_t CONTROL_DIM, size_t STATE_DIM, typename SCALAR = double>
23 class SelectionMatrix : public Eigen::Matrix<SCALAR, CONTROL_DIM, STATE_DIM>
24 {
25 public:
26  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
27 
28  SelectionMatrix() = delete;
29 
30  SelectionMatrix(const SelectionMatrix& other);
31 
32  SelectionMatrix(bool floatingBase);
33 
34  template <typename T = void> // do not use this template argument
35  typename std::enable_if<(STATE_DIM < 6), T>::type setIdentity(bool floatingBase);
36 
37  template <typename T = void> // do not use this template argument
38  typename std::enable_if<(STATE_DIM >= 6), T>::type setIdentity(bool floatingBase);
39 
40 
41 private:
42 };
43 }
44 }
EIGEN_MAKE_ALIGNED_OPERATOR_NEW SelectionMatrix()=delete
Selection Matrix for a Rigid Body Dynamics System.
Definition: SelectionMatrix.h:23
std::enable_if<(STATE_DIM< 6), T >::type setIdentity(bool floatingBase)