00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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