--- a
+++ b/Application/Examples/BikeModel/Model/InitialPositions.any
@@ -0,0 +1,211 @@
+//This file repicates the kinematics of the model at load time
+//The file will set the Axes0 values for the segments the calculations is based
+//on the joint driver values in the mannequin file. 
+
+AnyFolder &ref=Main.Model.HumanModel;
+AnyFolder &JointPos=Main.Model.Mannequin.Posture;
+
+ref.Trunk.SegmentsLumbar.PelvisSeg.r0 = 
+{JointPos.PelvisPosX,JointPos.PelvisPosY,JointPos.PelvisPosZ};
+
+ref.Trunk.SegmentsLumbar.PelvisSeg.Axes0=
+RotMat((pi/180)*JointPos.PelvisRotZ ,z)* 
+RotMat((pi/180)*JointPos.PelvisRotY ,y)*
+RotMat((pi/180)*JointPos.PelvisRotX ,x);
+
+
+
+//Thorax
+ref.Trunk.SegmentsThorax.ThoraxSeg.Axes0=
+ref.Trunk.SegmentsLumbar.PelvisSeg.Axes0*
+RotMat((pi/180)*JointPos.PelvisThoraxExtension ,z)* 
+RotMat((pi/180)*JointPos.PelvisThoraxRotation ,y)*
+RotMat((pi/180)*JointPos.PelvisThoraxLateralBending ,x);
+
+//This is a rough approximation
+//L1Seg 
+ref.Trunk.SegmentsLumbar.L1Seg.Axes0=
+ref.Trunk.SegmentsLumbar.PelvisSeg.Axes0*
+RotMat(5/6*(pi/180)*JointPos.PelvisThoraxExtension ,z)* 
+RotMat(5/6*(pi/180)*JointPos.PelvisThoraxRotation ,y)*
+RotMat(5/6*(pi/180)*JointPos.PelvisThoraxLateralBending ,x);
+//L2Seg
+ref.Trunk.SegmentsLumbar.L2Seg.Axes0=
+ref.Trunk.SegmentsLumbar.PelvisSeg.Axes0*
+RotMat(4/6*(pi/180)*JointPos.PelvisThoraxExtension ,z)* 
+RotMat(4/6*(pi/180)*JointPos.PelvisThoraxRotation ,y)*
+RotMat(4/6*(pi/180)*JointPos.PelvisThoraxLateralBending ,x);
+//L3Seg
+ref.Trunk.SegmentsLumbar.L3Seg.Axes0=
+ref.Trunk.SegmentsLumbar.PelvisSeg.Axes0*
+RotMat(3/6*(pi/180)*JointPos.PelvisThoraxExtension ,z)* 
+RotMat(3/6*(pi/180)*JointPos.PelvisThoraxRotation ,y)*
+RotMat(3/6*(pi/180)*JointPos.PelvisThoraxLateralBending ,x);
+//L4Seg
+ref.Trunk.SegmentsLumbar.L4Seg.Axes0=
+ref.Trunk.SegmentsLumbar.PelvisSeg.Axes0*
+RotMat(2/6*(pi/180)*JointPos.PelvisThoraxExtension ,z)* 
+RotMat(2/6*(pi/180)*JointPos.PelvisThoraxRotation ,y)*
+RotMat(2/6*(pi/180)*JointPos.PelvisThoraxLateralBending ,x);
+//L5Seg
+ref.Trunk.SegmentsLumbar.L5Seg.Axes0=
+ref.Trunk.SegmentsLumbar.PelvisSeg.Axes0*
+RotMat(1/6*(pi/180)*JointPos.PelvisThoraxExtension ,z)* 
+RotMat(1/6*(pi/180)*JointPos.PelvisThoraxRotation ,y)*
+RotMat(1/6*(pi/180)*JointPos.PelvisThoraxLateralBending ,x);
+//SkullSeg
+
+ref.Trunk.SegmentsThorax.SkullSeg.Axes0=
+ref.Trunk.SegmentsThorax.ThoraxSeg.Axes0*
+ref.Trunk.SegmentsThorax.ThoraxSeg.T1Seg.ARel*
+RotMat((pi/180)*JointPos.NeckExtension,z)* 
+ref.Trunk.SegmentsThorax.SkullSeg.NeckNode.ARel';
+
+
+
+
+
+//Right leg
+ref.Right.Leg.Seg.Thigh.Axes0 =
+ref.Trunk.SegmentsLumbar.PelvisSeg.Axes0*ref.Trunk.SegmentsLumbar.PelvisSeg.HipJointRight.RotNode.ARel*
+RotMat((pi/180)*JointPos.Right.HipFlexion,z)*
+RotMat((pi/180)*JointPos.Right.HipExternalRotation,y)*
+RotMat((pi/180)*JointPos.Right.HipAbduction,x)* 
+ref.Right.Leg.Seg.Thigh.HipJoint.RotNode.ARel';
+
+
+//shank
+ref.Right.Leg.Seg.Shank.Axes0 = 
+ref.Right.Leg.Seg.Thigh.Axes0*
+ref.Right.Leg.Seg.Thigh.KneeJoint.ARel*
+ref.Right.Leg.Seg.Thigh.KneeJoint.RotNode.ARel*
+RotMat((-pi/180)*JointPos.Right.KneeFlexion,z)*
+//RotMat(pi,y)*
+ref.Right.Leg.Seg.Shank.KneeJoint.RotNode.ARel'*
+ref.Right.Leg.Seg.Shank.KneeJoint.ARel';
+
+//Foot
+ref.Right.Leg.Seg.Foot.Axes0 = 
+ref.Right.Leg.Seg.Shank.Axes0*
+ref.Right.Leg.Seg.Shank.AnkleJoint.ARel*
+ref.Right.Leg.Seg.Shank.AnkleJoint.RotNode.ARel*
+RotMat((pi/180)*JointPos.Right.AnklePlantarFlexion ,z)*
+RotMat((pi/180)*JointPos.Right.AnkleEversion ,y)*
+ref.Right.Leg.Seg.Foot.AnkleJoint.RotNode.ARel'*
+ref.Right.Leg.Seg.Foot.AnkleJoint.ARel';
+//
+// //right humerus
+//ref.Right.ShoulderArm.Seg.Humerus.Axes0 =
+//ref.Trunk.SegmentsThorax.ThoraxSeg.Axes0*
+//ref.Trunk.SegmentsThorax.ThoraxSeg.ij.ARel*
+//ref.Trunk.SegmentsThorax.ThoraxSeg.ij.RotNode.ARel*
+//RotMat((pi/180)*JointPos.Right.GlenohumeralFlexion ,z)*
+//RotMat((pi/180)*JointPos.Right.GlenohumeralExternalRotation ,y)*
+//RotMat((pi/180)*JointPos.Right.GlenohumeralAbduction ,x)* 
+//ref.Right.ShoulderArm.Seg.Humerus.gh.RotNode.ARel'*
+//ref.Right.ShoulderArm.Seg.Humerus.gh.ARel';
+//
+// //right ulna
+//ref.Right.ShoulderArm.Seg.Ulna.Axes0 = 
+//ref.Right.ShoulderArm.Seg.Humerus.Axes0*
+//ref.Right.ShoulderArm.Seg.Humerus.fe.ARel*
+//ref.Right.ShoulderArm.Seg.Humerus.fe.RotNode.ARel*
+//RotMat((pi/180)*JointPos.Right.ElbowFlexion,x)*
+//ref.Right.ShoulderArm.Seg.Ulna.fe.RotNode.ARel';
+//
+//
+// //right Radius
+//ref.Right.ShoulderArm.Seg.Radius.Axes0 = 
+//ref.Right.ShoulderArm.Seg.Ulna.Axes0*
+//ref.Right.ShoulderArm.Seg.Ulna.ps2.ARel*
+//ref.Right.ShoulderArm.Seg.Ulna.ps2.RotNode.ARel*
+// //RotMat(-pi/2,z)*
+//RotMat(0.0,y)*
+//RotMat((pi/180)*JointPos.Right.ElbowPronation ,x)*
+//ref.Right.ShoulderArm.Seg.Radius.PointPS2.ARel'*
+//ref.Right.ShoulderArm.Seg.Radius.PointPS2.RotNode.ARel';
+//
+//
+// //right hand
+//ref.Right.ShoulderArm.Seg.Hand.Axes0 =
+//ref.Right.ShoulderArm.Seg.Radius.Axes0*
+//ref.Right.ShoulderArm.Seg.Radius.wj.ARel*
+//ref.Right.ShoulderArm.Seg.Radius.wj.RotNode.ARel*
+// //RotMat(0.0,y)*
+//RotMat((pi/180)*JointPos.Right.WristFlexion,y)*
+//RotMat((pi/180)*JointPos.Right.WristAbduction,z)*
+//ref.Right.ShoulderArm.Seg.Hand.wj.RotNode.ARel'*
+//ref.Right.ShoulderArm.Seg.Hand.wj.ARel';
+//
+//
+
+//Left hip
+ref.Left.Leg.Seg.Thigh.Axes0 =ref.Trunk.SegmentsLumbar.PelvisSeg.Axes0*ref.Trunk.SegmentsLumbar.PelvisSeg.HipJointLeft.RotNode.ARel*
+RotMat((pi/180)*JointPos.Left.HipFlexion,z)*
+RotMat((pi/180)*JointPos.Left.HipExternalRotation,y)*
+RotMat((pi/180)*JointPos.Left.HipAbduction,x)* 
+ref.Left.Leg.Seg.Thigh.HipJoint.RotNode.ARel';
+
+//left shank
+ref.Left.Leg.Seg.Shank.Axes0 = 
+ref.Left.Leg.Seg.Thigh.Axes0*
+ref.Left.Leg.Seg.Thigh.KneeJoint.ARel*
+ref.Left.Leg.Seg.Thigh.KneeJoint.RotNode.ARel*
+RotMat((-pi/180)*JointPos.Left.KneeFlexion,z)*
+//RotMat(pi,y)*
+ref.Left.Leg.Seg.Shank.KneeJoint.RotNode.ARel'*
+ref.Left.Leg.Seg.Shank.KneeJoint.ARel';
+
+//left foot
+ref.Left.Leg.Seg.Foot.Axes0 = 
+ref.Left.Leg.Seg.Shank.Axes0*
+ref.Left.Leg.Seg.Shank.AnkleJoint.ARel*
+ref.Left.Leg.Seg.Shank.AnkleJoint.RotNode.ARel*
+RotMat((pi/180)*JointPos.Left.AnklePlantarFlexion ,z)*
+RotMat((pi/180)*JointPos.Left.AnkleEversion,y)*
+ref.Left.Leg.Seg.Foot.AnkleJoint.RotNode.ARel'*
+ref.Left.Leg.Seg.Foot.AnkleJoint.ARel';
+
+// //left humerus
+//ref.Left.ShoulderArm.Seg.Humerus.Axes0 =
+//ref.Trunk.SegmentsThorax.ThoraxSeg.Axes0*
+//ref.Trunk.SegmentsThorax.ThoraxSeg.iji.ARel*
+//ref.Trunk.SegmentsThorax.ThoraxSeg.iji.RotNode.ARel*
+//RotMat((pi/180)*JointPos.Left.GlenohumeralExternalRotation ,y)*
+//RotMat((pi/180)*JointPos.Left.GlenohumeralFlexion ,z)*
+//RotMat((pi/180)*JointPos.Left.GlenohumeralAbduction ,x)*
+//ref.Left.ShoulderArm.Seg.Humerus.gh.RotNode.ARel'*
+//ref.Left.ShoulderArm.Seg.Humerus.gh.ARel';
+//
+
+//
+// //left ulna
+//ref.Left.ShoulderArm.Seg.Ulna.Axes0 = ref.Left.ShoulderArm.Seg.Humerus.Axes0*
+//ref.Left.ShoulderArm.Seg.Humerus.fe.ARel*
+//ref.Left.ShoulderArm.Seg.Humerus.fe.RotNode.ARel*
+//RotMat((pi/180)*JointPos.Left.ElbowFlexion,x)*
+//ref.Left.ShoulderArm.Seg.Ulna.fe.RotNode.ARel';
+//
+// //left Radius
+//ref.Left.ShoulderArm.Seg.Radius.Axes0 = 
+//ref.Left.ShoulderArm.Seg.Ulna.Axes0*
+//ref.Left.ShoulderArm.Seg.Ulna.ps2.ARel*
+//ref.Left.ShoulderArm.Seg.Ulna.ps2.RotNode.ARel*
+// //RotMat(-pi,z)*
+//RotMat(0.0,y)*
+//RotMat((pi/180)*JointPos.Left.ElbowPronation ,x)*
+//ref.Left.ShoulderArm.Seg.Radius.PointPS2.ARel'*
+//ref.Left.ShoulderArm.Seg.Radius.PointPS2.RotNode.ARel';
+//
+//
+// //Left hand
+//ref.Left.ShoulderArm.Seg.Hand.Axes0 = 
+//ref.Left.ShoulderArm.Seg.Radius.Axes0*
+//ref.Left.ShoulderArm.Seg.Radius.wj.ARel*
+//ref.Left.ShoulderArm.Seg.Radius.wj.RotNode.ARel*
+// //RotMat(0.0,y)*
+//RotMat((pi/180)*JointPos.Left.WristFlexion,y)*
+//RotMat((pi/180)*JointPos.Left.WristAbduction,z)*
+//ref.Left.ShoulderArm.Seg.Hand.wj.RotNode.ARel*
+//ref.Left.ShoulderArm.Seg.Hand.wj.ARel';
+//