RCArticulatedBodyInvDynAlgo.h

00001 /****************************************************************************
00002  * Copyright 2006 Evan Drumwright
00003  * This library is distributed under the terms of the GNU General Public 
00004  * License (found in COPYING).
00005  ****************************************************************************/
00006 
00007 #ifndef _RC_ARTICULATED_BODY_INV_DYN_ALGO_H
00008 #define _RC_ARTICULATED_BODY_INV_DYN_ALGO_H
00009 
00010 #include <map>
00011 #include <Physsim/Base.h>
00012 #include <Physsim/MatrixNN.h>
00013 #include <Physsim/Vector3.h>
00014 
00015 namespace Physsim {
00016 
00017 class RCArticulatedBody;
00018 
00020 class RCArticulatedBodyInvDynData
00021 {
00022         public:
00023 
00025                 Vector3 _fext;
00026 
00028                 Vector3 _text;
00029 
00031                 VectorN _qdd;
00032 };
00033         
00035 class RCArticulatedBodyInvDynAlgo : public Base
00036 {
00037         public:
00038                 RCArticulatedBodyInvDynAlgo() { }
00039                 virtual ~RCArticulatedBodyInvDynAlgo() {}
00040 
00042 
00050                 virtual std::map<boost::shared_ptr<Joint>, VectorN> calc_inv_dyn(boost::shared_ptr<RCArticulatedBody> body, const std::map<boost::shared_ptr<RigidBody>, RCArticulatedBodyInvDynData>& inv_dyn_data) = 0;
00051 }; // end class
00052 } // end namespace
00053 
00054 #endif

Generated on Wed Oct 24 14:54:22 2007 for Physsim by  doxygen 1.5.1