Cheetah Software  1.0
ContactSpringDamper.h
Go to the documentation of this file.
1 
5 #ifndef CONTACT_SPRING_DAMPER_H
6 #define CONTACT_SPRING_DAMPER_H
7 
8 #include "ContactConstraint.h"
10 
11 template <typename T>
13  public:
15  : ContactConstraint<T>(model) {
16  _nGC = CC::_model->_nGroundContact;
17  for (size_t i(0); i < _nGC; ++i) {
19  }
20  deflectionRate.resize(_nGC);
21  }
22 
23  virtual ~ContactSpringDamper() {}
24 
35  virtual void UpdateExternalForces(T K, T D, T dt);
36  virtual void UpdateQdot(FBModelState<T>& state) {
37  (void)state; /* Do nothing */
38  }
39 
40  protected:
41  size_t _nGC;
42 
47  void _groundContactWithOffset(T K, T D);
48 
51 };
52 
53 #endif
virtual void UpdateExternalForces(T K, T D, T dt)
typename Eigen::Matrix< T, 2, 1 > Vec2
Definition: cppTypes.h:22
vectorAligned< Vec2< T > > deflectionRate
typename std::vector< T, Eigen::aligned_allocator< T >> vectorAligned
Definition: cppTypes.h:118
Virtual class of Contact Constraint logic.
ContactSpringDamper(FloatingBaseModel< T > *model)
virtual void UpdateQdot(FBModelState< T > &state)
vectorAligned< Vec2< T > > _tangentialDeflections
void _groundContactWithOffset(T K, T D)
Implementation of Rigid Body Floating Base model data structure.