--- a
+++ b/Tools/ModelUtilities/Mocap/OptimizeAnthropometricsOnOffV2.any
@@ -0,0 +1,257 @@
+
+
+#class_template OptimizeAnthropometricsOnOff (PelvisWidthOnOff,ThighLengthOnOff,ShankLengthOnOff,FootLengthOnOff,HeadHeightOnOff,TrunkHeightOnOff ,UpperArmLengthOnOff,LowerArmLengthOnOff ,HandLengthOnOff,Model1, Model2, Model3 ){
+
+  
+  
+  
+  
+  AnyFolder &ref1= Main.TrialSpecificData.Anthropometrics;
+  ref1={
+    
+    
+    #if PelvisWidthOnOff!="On" 
+    AnyVar PelvisWidth = DesignVar(PelvisWidthIni);
+    #else 
+    #if Model3!=1
+    AnyVar PelvisWidth = (PelvisWidthIni); 
+    #else
+    AnyVar PelvisWidth = DesignVar(PelvisWidthIni);  
+    #endif
+    #endif
+    
+    
+    #if ThighLengthOnOff !="On"
+    AnyVar ThighLength = DesignVar(ThighLengthIni);
+    #else
+    #if Model3!=1
+    AnyVar ThighLength =  (ThighLengthIni);
+    #else 
+    AnyVar ThighLength = DesignVar(ThighLengthIni);
+    #endif
+    #endif    
+
+    
+    #if ShankLengthOnOff !="On" 
+    AnyVar ShankLength =  DesignVar(ShankLengthIni);
+    #else 
+    #if Model3!=1
+    AnyVar ShankLength =  (ShankLengthIni);
+    #else 
+    AnyVar ShankLength =  DesignVar(ShankLengthIni);
+    #endif
+        #endif
+    
+    #if FootLengthOnOff !="On"
+    AnyVar FootLength =  DesignVar(FootLengthIni);
+    #else
+    #if Model3!=1
+    AnyVar FootLength =  (FootLengthIni);
+    #else    
+    AnyVar FootLength =  DesignVar(FootLengthIni);
+    #endif
+        #endif
+    
+    
+    #if HeadHeightOnOff !="On"
+    AnyVar HeadHeight =  DesignVar(HeadHeightIni );
+    #else
+    #if Model3!=1
+    AnyVar HeadHeight =  (HeadHeightIni );
+       #else 
+    AnyVar HeadHeight =  DesignVar(HeadHeightIni );
+    #endif
+        #endif
+    
+    #if TrunkHeightOnOff !="On"
+    AnyVar TrunkHeight =  DesignVar(TrunkHeightIni);
+    #else
+    #if Model3!=1
+    AnyVar TrunkHeight =  (TrunkHeightIni);
+       #else 
+    AnyVar TrunkHeight =  DesignVar(TrunkHeightIni);
+    #endif
+        #endif
+        
+    #if UpperArmLengthOnOff!="On"
+    AnyVar UpperArmLength =  DesignVar(UpperArmLengthIni);
+    #else
+    #if Model3!=1
+    AnyVar UpperArmLength =  (UpperArmLengthIni);
+       #else 
+    AnyVar UpperArmLength =  DesignVar(UpperArmLengthIni);
+    #endif
+        #endif
+        
+    #if LowerArmLengthOnOff !="On"
+    AnyVar LowerArmLength =  DesignVar(LowerArmLengthIni);
+    #else
+    #if Model3!=1
+    AnyVar LowerArmLength =  (LowerArmLengthIni);
+       #else 
+    AnyVar LowerArmLength =  DesignVar(LowerArmLengthIni);
+    #endif
+    #endif    
+    
+    
+    #if HandLengthOnOff !="On"
+    AnyVar HandLength =  DesignVar(HandLengthIni);
+    #else
+    #if Model3!=1
+    AnyVar HandLength =  (HandLengthIni);
+       #else 
+    AnyVar HandLength =  DesignVar(HandLengthIni);
+    #endif
+        #endif
+    
+  };
+  
+  
+  #if Model1 == 1
+  
+  
+
+  AnyFolder &ref2=  Main.Studies.ParameterIdentification ;
+  
+  ref2={
+    AnyFolder &Lengths= Main.TrialSpecificData.Anthropometrics;
+    
+    #if PelvisWidthOnOff=="On" 
+    AnyDesVar PelvisWidth = {
+      Val = Main.TrialSpecificData.Anthropometrics.PelvisWidth;
+    };
+    #endif
+    
+    #if ThighLengthOnOff =="On"
+    AnyDesVar ThighLengths = {
+      Val =Main.TrialSpecificData.Anthropometrics.ThighLength;
+    };
+    #endif    
+    
+    
+    #if ShankLengthOnOff =="On" 
+    AnyDesVar ShankLengths = {
+      Val = Main.TrialSpecificData.Anthropometrics.ShankLength;
+    };
+    #endif
+    
+    #if FootLengthOnOff =="On"
+    AnyDesVar FootLengths = {
+      Val = Main.TrialSpecificData.Anthropometrics.FootLength;
+    };
+    #endif
+    
+    
+    #if HeadHeightOnOff =="On"
+    AnyDesVar HeadHeight = {
+      Val = Main.TrialSpecificData.Anthropometrics.HeadHeight;
+    };
+    #endif
+    
+    #if TrunkHeightOnOff =="On"
+    AnyDesVar TrunkHeight = {
+      Val = Main.TrialSpecificData.Anthropometrics.TrunkHeight;
+    };
+    #endif
+    
+    #if UpperArmLengthOnOff=="On"
+    AnyDesVar UpperArmLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.UpperArmLength ;
+    };
+    #endif
+    
+    #if LowerArmLengthOnOff =="On"
+    AnyDesVar LowerArmLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.LowerArmLength ;
+    };
+    #endif
+    
+    #if HandLengthOnOff =="On"
+    AnyDesVar HandLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.HandLength ;
+    };
+    #endif
+    
+    
+  };
+  
+  #endif 
+  
+  
+  
+  
+  #if Model2 == 1
+  
+  
+  AnyFolder &ref3=  Main.Studies.LoadParametersOptimizationResults ;
+  
+  ref3={
+    
+    AnyFolder &Lengths=Main.TrialSpecificData.Anthropometrics;
+    
+    
+    
+    #if PelvisWidthOnOff=="On"
+    AnyDesVar PelvisWidth = {
+      Val = Main.TrialSpecificData.Anthropometrics.PelvisWidth;
+    };
+    #endif
+    
+    #if ThighLengthOnOff =="On"
+    AnyDesVar ThighLengths = {
+      Val =Main.TrialSpecificData.Anthropometrics.ThighLength;
+    };
+    #endif    
+    
+    
+    #if ShankLengthOnOff =="On"
+    AnyDesVar ShankLengths = {
+      Val = Main.TrialSpecificData.Anthropometrics.ShankLength;
+    };
+    #endif
+    
+    #if FootLengthOnOff =="On"
+    AnyDesVar FootLengths = {
+      Val = Main.TrialSpecificData.Anthropometrics.FootLength;
+    };
+    #endif
+    
+    #if HeadHeightOnOff =="On"
+    AnyDesVar HeadHeight = {
+      Val = Main.TrialSpecificData.Anthropometrics.HeadHeight;
+    };
+    #endif
+    
+    #if TrunkHeightOnOff =="On"
+    AnyDesVar TrunkHeight = {
+      Val = Main.TrialSpecificData.Anthropometrics.TrunkHeight;
+    };
+    #endif
+    
+    #if UpperArmLengthOnOff=="On"
+    AnyDesVar UpperArmLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.UpperArmLength ;
+    };
+    #endif
+    
+    #if LowerArmLengthOnOff =="On"
+    AnyDesVar LowerArmLength = {
+      Val = Main.TrialSpecificData.Anthropometrics.LowerArmLength ;
+    };
+    #endif
+    
+    
+  };
+  
+  #endif 
+  
+  
+  
+  
+}; // End of InsertSegmentClass
+
+
+
+
+
+