Switch to unified view

a b/Tools/AnyMocap/SaveLoadParameters.any
1
  Main.ModelSetup.Macros = {   
2
   
3
   #ifndef MOCAP_PARAMETER_FILE_PREFIX
4
   #define MOCAP_PARAMETER_FILE_PREFIX MOCAP_TEST_FILENAME_PREFIX + MOCAP_OUTPUT_FILENAME_PREFIX
5
   #endif
6
      
7
   #if (ANYBODY_V1 > 7)|(ANYBODY_V1 == 7 & ANYBODY_V2 > 2)
8
   AnyOperationMacro Save_parameters = {
9
     AnyFileVar SavePath = TEMP_PATH;
10
     MacroStr  = {"classoperation Main" + strquote("Save Values") +"--file=" + 
11
       strquote(FilePathCompleteOf(SavePath) +"/"+  MOCAP_PARAMETER_FILE_PREFIX + Main.ModelSetup.TrialSpecificData.TrialFileName +".anyset" )    
12
     };
13
   };
14
   #else
15
   AnyOperationSequence Save_parameters= {
16
     OPERATION_DISPLAY_PRIORITY(PriorityLow);
17
     // This operation uses `AnyOperationSetValue` to mark all values that must be saved 
18
      AnyOperationSetValue TouchMarkers = {
19
        Source = ObjSearch("Main.ModelSetup.MocapDrivers.*.sRelOptEdit");
20
        Target = Source;
21
      };     
22
      AnyOperationSetValue TouchSegLength =  {
23
        Source = arrcat(
24
          ObjSearch("Main.HumanModel.Anthropometrics.SegmentDimensions.*","AnyValue"),
25
          ObjSearch("Main.HumanModel.Anthropometrics.SegmentDimensions.Right.*","AnyValue"),
26
          ObjSearch("Main.HumanModel.Anthropometrics.SegmentDimensions.Left.*","AnyValue"),
27
          ObjSearchRecursive("Main.HumanModel.Anthropometrics.SegmentScaleFactors", "LengthScale", "AnyValue"),
28
          ObjSearchRecursive("Main.HumanModel.Anthropometrics.SegmentScaleFactors", "DepthScale", "AnyValue"),
29
          ObjSearchRecursive("Main.HumanModel.Anthropometrics.SegmentScaleFactors", "WidthScale", "AnyValue")
30
        );
31
        Target = Source;
32
      };   
33
      
34
      AnyOperationSetValue TouchOtherValues =  {
35
        Source = arrcat(
36
          ObjSearch("Main.HumanModel.BodyModel.Left.Leg.Seg.Thigh.KneeJoint.VarusValgusRotation", "AnyValue"),
37
          ObjSearch("Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh.KneeJoint.VarusValgusRotation", "AnyValue"),
38
          ObjSearch("Main.HumanModel.BodyModel.Left.Leg.Seg.Shank.AnkleJoint.TibialTorsionOffset", "AnyValue"),
39
          ObjSearch("Main.HumanModel.BodyModel.Right.Leg.Seg.Shank.AnkleJoint.TibialTorsionOffset", "AnyValue")
40
         );
41
          
42
        Target = Source;
43
      };   
44
            
45
      AnyOperationMacro SaveToFile = {
46
        AnyFileVar SavePath = TEMP_PATH;
47
        MacroStr  = {"classoperation Main" + strquote("Save Values") +"--file=" + 
48
          strquote(FilePathCompleteOf(SavePath) +"/"+  MOCAP_PARAMETER_FILE_PREFIX + Main.ModelSetup.TrialSpecificData.TrialFileName +".anyset" )
49
        };
50
      };
51
    };
52
    #endif
53
      
54
    #if MOCAP_CREATE_PARAMETER_ID_SHORTCUT
55
    Main.RunParameterIdentification.SaveParameters = {
56
      AnyOperation &Save_parameters_to_anyset = Main.ModelSetup.Macros.Save_parameters;
57
    };
58
    #endif
59
  };
60
 
61
 
62
Main.ModelSetup.Macros = {
63
  
64
  #define _GET_VALID_INDEX(X) iffun(gtfun(NumElemOf(Main.ModelSetup.TrialSpecificData.LoadParametersFrom), X), X, 0)
65
  #define _LOAD_MACRO(X) iffun( andfun(gtfun(NumElemOf(Main.ModelSetup.TrialSpecificData.LoadParametersFrom), X) , neqfun(Main.ModelSetup.TrialSpecificData.LoadParametersFrom[ _GET_VALID_INDEX(X)],"")),\
66
                                  "classoperation Main " + strquote("Load Values") +" --file=" + strquote( FilePathCompleteOf(LoadPath)+ "/" + MOCAP_PARAMETER_FILE_PREFIX + Main.ModelSetup.TrialSpecificData.LoadParametersFrom[ _GET_VALID_INDEX(X)]+".anyset") ,\
67
                                  "")
68
 
69
70
  AnyOperationMacro Load_parameters = {
71
    OPERATION_DISPLAY_PRIORITY(PriorityLow);
72
     
73
    AnyFileVar LoadPath = TEMP_PATH;
74
    MacroStr  = { _LOAD_MACRO(0),
75
                  _LOAD_MACRO(1),
76
                  _LOAD_MACRO(2),
77
                  _LOAD_MACRO(3),
78
                  _LOAD_MACRO(4),
79
                  _LOAD_MACRO(5),
80
                  _LOAD_MACRO(6),
81
                  _LOAD_MACRO(7),
82
                  _LOAD_MACRO(8),
83
                  iffun(neqfun( Main.ModelSetup.TrialSpecificData.LoadParametersFrom[0], "" ),"classoperation Main " + strquote("Update Values"),"")   };   
84
  };
85
  #undef _LOAD_MACRO
86
  #undef _GET_VALID_INDEX
87
  
88
  Main.RunAnalysis.LoadParameters = {
89
    AnyOperation &Load_parameters_from_anyset = Main.ModelSetup.Macros.Load_parameters;
90
  };
91
  
92
};
93
94