76 lines (66 with data), 2.5 kB
// ************************************
// Drivers for attaching the pelvis to the global reference system
// ************************************
AnyKinEqSimpleDriver PelvisGroundDriver ={
AnyKinMeasureOrg PelvisGround =
{
AnyKinMeasure& PosX = ....BodyModel.Interface.Trunk.PelvisPosX;
AnyKinMeasure& PosY = ....BodyModel.Interface.Trunk.PelvisPosY;
AnyKinMeasure& PosZ = ....BodyModel.Interface.Trunk.PelvisPosZ;
AnyKinMeasure& RotX = ....BodyModel.Interface.Trunk.PelvisRotX;
AnyKinMeasure& RotY = ....BodyModel.Interface.Trunk.PelvisRotY;
AnyKinMeasure& RotZ = ....BodyModel.Interface.Trunk.PelvisRotZ;
};
DriverPos={
.JntPos.PelvisPosX,
.JntPos.PelvisPosY,
.JntPos.PelvisPosZ,
pi/180*.JntPos.PelvisRotZ,
pi/180*.JntPos.PelvisRotY,
pi/180*.JntPos.PelvisRotX
};
DriverVel={
.JntVel.PelvisPosX,
.JntVel.PelvisPosY,
.JntVel.PelvisPosZ,
pi/180*.JntVel.PelvisRotX,
pi/180*.JntVel.PelvisRotY,
pi/180*.JntVel.PelvisRotZ
};
Reaction.Type={On,On,On,On,On,On};
};
// ************************************
// Drivers for the spine
// ************************************
//Neck driver
AnyKinEqSimpleDriver NeckJntDriver = {
AnyKinMeasure& lb = ...BodyModel.Interface.Trunk.SkullThoraxLateralBending;
AnyKinMeasure& ar = ...BodyModel.Interface.Trunk.SkullThoraxRotation;
AnyKinMeasure& fe = ...BodyModel.Interface.Trunk.SkullThoraxFlexion;
DriverPos = pi/180*{
.JntPos.NeckLateralBending,
.JntPos.NeckRotation,
-1*.JntPos.NeckExtension};
DriverVel = pi/180*{
.JntVel.NeckExtension,
.JntVel.NeckRotation,
-1*.JntVel.NeckExtension};
Reaction.Type = {Off,Off,Off};
};
//Thorax pelvis rotation driver
AnyKinEqSimpleDriver PostureDriver ={
AnyKinMeasure& Ref2 = ...BodyModel.Interface.Trunk.PelvisThoraxLateralBending;
AnyKinMeasure& Ref3 = ...BodyModel.Interface.Trunk.PelvisThoraxRotation;
AnyKinMeasure& Ref1 = ...BodyModel.Interface.Trunk.PelvisThoraxExtension;
DriverPos = pi/180*{
.JntPos.PelvisThoraxLateralBending,
.JntPos.PelvisThoraxRotation,
.JntPos.PelvisThoraxExtension
};
DriverVel = pi/180*{
.JntVel.PelvisThoraxLateralBending,
.JntVel.PelvisThoraxRotation,
.JntVel.PelvisThoraxExtension
};
Reaction.Type = {Off,Off,Off};
};