Human36/LagrangianModel.h

Go to the documentation of this file.
00001 /* Copyright (C) INRIA 1999-2005
00002 ** 
00003 ** This program is free software; you can redistribute it and/or modify it
00004 ** under the terms of the GNU General Public License version 2 as published
00005 ** by the Free Software Foundation.
00006 ** 
00007 ** This program is distributed in the hope that it will be useful, but
00008 ** WITHOUT ANY WARRANTY; without even the implied warranty of
00009 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
00010 ** Public License for more details.
00011 ** 
00012 ** You should have received a copy of the GNU General Public License along
00013 ** with this program; if not, write to the Free Software Foundation, Inc.,
00014 ** 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00015 ** 
00016 */
00027 #ifndef __LagrangianModel_h
00028 #define __LagrangianModel_h
00029 
00030 #ifdef WINDOWS
00031 #define extern __declspec (dllexport)
00032 #endif
00033 
00034 #define NDOF 42
00035 #define NTAGS 28
00036 #define NCONT 12
00037 #define NSOL 17
00038 #define NLANAT 31
00039 #define NLTAGS (3*NTAGS)
00040 
00041 
00042 
00048  extern void SetModelSize(double *subjectSize);
00049 
00055  extern void GetModelSize(double *subjectSize);
00056 
00062  extern void SetModelMass(double *subjectMass);
00063 
00069  extern void GetModelMass(double *subjectMass);
00070 
00076  extern void SetAnatomicalLengths(double *anatLengths);
00077 
00083  extern void GetAnatomicalLengths(double *anatLengths);
00084 
00090  extern void SetTag2JointLengths(double *tagLengths);
00091 
00097  extern void GetTag2JointLengths(double *tagLengths);
00098 
00099 
00100 
00107 extern  void
00108 Contact(double *CC,double *q, double *L, double *AddL);
00109 
00116 extern void
00117 ContactJacobian(double *CJ,double *q, double *L, double *AddL);
00118 
00126 extern void
00127 ContactHessian(double *H,double *q, double *qdot, double *L, double *AddL);
00128 
00137 extern void
00138 NLEffects(double *N, double *q, double *qdot, double *L, double *AddL, double Mass);
00139 
00146 extern void 
00147 Inertia(double *M, double *q, double *L, double *AddL, double Mass);
00148  
00158 extern void 
00159 Tags(double *T, double *q, double *L, double *AddL, double Mass);
00160 
00161 #endif /* __LagrangianModel_h */

HuMAnS

humans-users@inrialpes.fr


Generated on Tue Mar 6 14:12:04 2007 for HuMAnS by doxygen 1.4.7