Switch to side-by-side view

--- a
+++ b/Application/Examples/WheelChairRancho/Model/JointsAndDrivers.any
@@ -0,0 +1,195 @@
+/* ----------------------------------------------------------------
+Drivers for the model:
+
+-The model is driven by connecting recorded markers with equivalnet markers on the body
+
+Soeren, March 15, 2006.
+----------------------------------------------------------------  */
+
+AnyFolder Drivers = {
+  
+  // Aliases for convenient referencing
+  AnyFolder &JntPos=..Mannequin.Posture;  
+  AnyFolder &JntVel=..Mannequin.PostureVel;  
+  
+  AnyFolder &Thorax = ..BodyModel.Trunk.SegmentsThorax.ThoraxSeg;
+  AnyFolder &ref=Main.Model.BodyModel.Trunk;
+  
+  
+  // ************************************
+  // Drivers for attaching the pelvis to the global reference system
+  // ************************************  
+  
+  AnyKinEqSimpleDriver PelvisGroundDriver ={
+    AnyKinRotational rot ={
+      AnyFixedRefFrame &ref1 =....EnvironmentModel.GlobalRef;
+      AnySeg &ref2 =....BodyModel.Trunk.SegmentsLumbar.PelvisSeg;
+      Type=RotAxesAngles;
+    };
+    DriverPos={
+      
+      pi/180*.JntPos.PelvisRotZ,
+      pi/180*.JntPos.PelvisRotY,
+      pi/180*.JntPos.PelvisRotX
+    };
+    DriverVel={
+      
+      pi/180*.JntVel.PelvisRotX,
+      pi/180*.JntVel.PelvisRotY,
+      pi/180*.JntVel.PelvisRotZ
+    };
+    
+    Reaction.Type={On,On,On};
+    
+  };
+  
+  AnyReacForce PelvisGroundLinReac={
+    AnyKinLinear lin ={
+      AnyFixedRefFrame &ref1 =....EnvironmentModel.GlobalRef;
+      AnySeg &ref2 =....BodyModel.Trunk.SegmentsLumbar.PelvisSeg;
+    };
+  };
+  
+  
+  
+  AnyKinEqSimpleDriver IncisuraJungularisDrv = {  
+    AnyKinLinear lin = {  
+      Ref=1;
+      AnySeg     &ref1 = Main.Model.Markers.MAN.Seg;
+      AnyRefNode &ref2 = Main.Model.BodyModel.Trunk.SegmentsThorax.ThoraxSeg.IncisuraJungularisMarker;
+    }; 
+    MeasureOrganizer={0,1,2};
+    DriverPos={0,0.0,0};
+    DriverVel={0,0,0};
+    Reaction.Type={Off,Off,Off};
+  };
+  
+  
+  
+  AnyKinEqSimpleDriver ProcessusXiphoideus = {  
+    AnyKinLinear lin = {  
+      Ref=0;
+      AnyRefNode &ref2 = Main.Model.BodyModel.Trunk.SegmentsThorax.ThoraxSeg.ProcessusXiphoideusMarker;
+      AnySeg     &ref1 = Main.Model.Markers.XIP.Seg;
+      //ref2={AnyDrawRefFrame drwq={};};
+      
+    }; 
+    MeasureOrganizer={0,2};
+    DriverPos={0.0,0};
+    DriverVel={0,0};
+    Reaction.Type={Off,Off};
+  };
+  
+  
+  AnyKinEqSimpleDriver T10Drv = {  
+    AnyKinLinear lin = {  
+      Ref=1;
+      AnySeg     &ref1 = Main.Model.Markers.T10.Seg;
+      AnyRefNode &ref2 = Main.Model.BodyModel.Trunk.SegmentsThorax.ThoraxSeg.T10Marker;
+    }; 
+    MeasureOrganizer={2};
+    DriverPos={0};
+    DriverVel={0};
+    Reaction.Type={Off};
+  };
+  
+  
+  
+  // ************************************
+  // 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.NeckLateralBending, .JntVel.NeckRotation, -1*.JntVel.NeckExtension};
+    Reaction.Type = {Off, Off, Off};
+  };
+  
+  
+  
+  // ************************************
+  // Drivers for the right arm
+  // ************************************
+  
+  
+  //Sterno clavicular joint driver
+  AnyKinEqSimpleDriver SCDriverRight ={
+    AnyKinMeasure& ref1 =...BodyModel.Interface.Right.SternoClavicularProtraction;
+    AnyKinMeasure& ref2 =...BodyModel.Interface.Right.SternoClavicularElevation;
+    DriverPos = pi/180*{
+      .JntPos.Right.SternoClavicularProtraction,
+      .JntPos.Right.SternoClavicularElevation
+    };
+    DriverVel = {
+      .JntVel.Right.SternoClavicularProtraction,
+      .JntVel.Right.SternoClavicularElevation
+    };
+    Reaction.Type={Off,Off};
+  };
+  
+  
+  AnyKinEqSimpleDriver RightLateralEpicondyleDrv ={
+    AnyKinLinear Lin={ 
+      Ref=0;
+      AnyRefFrame  &ref1 = Main.Model.BodyModel.Right.ShoulderArm.Seg.Humerus.LateralEpicondyleMarker;  
+      AnyRefFrame &ref2=Main.Model.Markers.RLEP.Seg;
+    };
+    MeasureOrganizer={0,2}; 
+    DriverPos={0,0};
+    DriverVel={0,0};
+    Reaction.Type={Off,Off};
+  };  
+  
+  
+  
+  AnyKinEqSimpleDriver RadialStyloidMarkerDrv ={
+    AnyKinLinear Lin={ 
+      Ref=0;
+      //ref1={AnyDrawRefFrame drw2={};};
+      AnyRefFrame  &ref1 = Main.Model.BodyModel.Right.ShoulderArm.Seg.Radius.RadialStyloidMarker;  
+      AnyRefFrame &ref2=Main.Model.Markers.RRSP.Seg;
+      
+    };
+    MeasureOrganizer={2}; 
+    DriverPos={0};
+    DriverVel={0};
+    Reaction.Type={Off};
+    
+    
+    
+  };  
+  
+  
+  
+  AnyKinEqSimpleDriver UlnaStyloidMarkerDrv ={
+    AnyKinLinear Lin={ 
+      Ref=0;
+      AnyRefFrame  &ref1 = Main.Model.BodyModel.Right.ShoulderArm.Seg.Ulna.UlnaStyloidMarker;  
+      AnyRefFrame &ref2=Main.Model.Markers.RUSP.Seg;
+    }; 
+    MeasureOrganizer={0,2}; 
+    DriverPos={0,0};
+    DriverVel={0,0};
+    Reaction.Type={Off,Off};
+    
+  }; 
+  
+  AnyKinEqSimpleDriver RightMetacarpophalangelJoint3Drv ={
+    AnyKinLinear Lin={ 
+      Ref=0;
+      AnyRefFrame  &ref1 = Main.Model.BodyModel.Right.ShoulderArm.Seg.Hand.MetacarpophalangealJoint3Marker;  
+      AnyRefFrame &ref2=Main.Model.Markers.RM3.Seg;
+    };
+    MeasureOrganizer={1,2}; 
+    DriverPos={0,0};
+    DriverVel={0,0};
+    Reaction.Type={Off,Off};
+  };  
+  
+  
+};//Drivers
+