RNEAlgorithm.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 _RNE_ALGO_H
00008 #define _RNE_ALGO_H
00009 
00010 #include <Physsim/RCArticulatedBodyInvDynAlgo.h>
00011 
00012 namespace Physsim {
00013 
00015 
00018 class RNEAlgorithm : public RCArticulatedBodyInvDynAlgo
00019 {
00020         public:
00021                 std::map<JointPtr, VectorN> calc_inv_dyn(RCArticulatedBodyPtr body, const std::map<RigidBodyPtr, RCArticulatedBodyInvDynData>& inv_dyn_data);
00022 
00023         private:
00024                 std::map<JointPtr, VectorN> calc_inv_dyn_fixed_base(RCArticulatedBodyPtr body, const std::map<RigidBodyPtr, RCArticulatedBodyInvDynData>& inv_dyn_data);
00025                 std::map<JointPtr, VectorN> calc_inv_dyn_floating_base(RCArticulatedBodyPtr body, const std::map<RigidBodyPtr, RCArticulatedBodyInvDynData>& inv_dyn_data);
00026                 void set_spatial_iso_inertias(RCArticulatedBodyPtr body, ReferenceFrameType rftype);
00027                 std::vector<SMatrix6> _Iiso;
00028 };
00029 }
00030 
00031 #endif
00032 

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