Moby
RCArticulatedBodyInvDynAlgo.h
1 /****************************************************************************
2  * Copyright 2006 Evan Drumwright
3  * This library is distributed under the terms of the Apache V2.0
4  * License (obtainable from http://www.apache.org/licenses/LICENSE-2.0).
5  ****************************************************************************/
6 
7 #ifndef _RC_ARTICULATED_BODY_INV_DYN_ALGO_H
8 #define _RC_ARTICULATED_BODY_INV_DYN_ALGO_H
9 
10 #include <map>
11 #include <Moby/Base.h>
12 
13 namespace Moby {
14 
15 class RCArticulatedBody;
16 
19 {
20  public:
21 
23  Ravelin::SForced wext;
24 
26  Ravelin::VectorNd qdd;
27 };
28 
30 class RCArticulatedBodyInvDynAlgo : public virtual Base
31 {
32  public:
34  virtual ~RCArticulatedBodyInvDynAlgo() {}
35 
37 
45  virtual std::map<boost::shared_ptr<Joint>, Ravelin::VectorNd> calc_inv_dyn(boost::shared_ptr<RCArticulatedBody> body, const std::map<boost::shared_ptr<RigidBody>, RCArticulatedBodyInvDynData>& inv_dyn_data) = 0;
46 }; // end class
47 } // end namespace
48 
49 #endif
Ravelin::SForced wext
External force applied to this link.
Definition: RCArticulatedBodyInvDynAlgo.h:23
Class from which all Moby classes are derived.
Definition: Base.h:20
virtual std::map< boost::shared_ptr< Joint >, Ravelin::VectorNd > calc_inv_dyn(boost::shared_ptr< RCArticulatedBody > body, const std::map< boost::shared_ptr< RigidBody >, RCArticulatedBodyInvDynData > &inv_dyn_data)=0
Classes must implement the method below.
Abstract class for performing inverse dynamics computation on a reduced-coordinate articulatedc body...
Definition: RCArticulatedBodyInvDynAlgo.h:30
Ravelin::VectorNd qdd
Inner joint acceleration (desired)
Definition: RCArticulatedBodyInvDynAlgo.h:26
Wrapper class for passing data to and from inverse dynamics algorithms.
Definition: RCArticulatedBodyInvDynAlgo.h:18