[bfdf16]: / Body / AAUHuman / BodyModels / GenericBodyModel / MannequinDefault.any

Download this file

378 lines (308 with data), 14.4 kB

AnyFolder Mannequin = 
{
  
  //^ The values in this mannequin files are initialized with "??=" which allows
  //^ the values to be overrriden in the user application. 
  //^ Hence, all values in this files behaves as default values if not set by 
  //^ the user. 
  //^ 
  //^ It is good practice not to edit this file, but instead set the values directly 
  //^ in your applicaiton:
  //^
  //^ .. code_block:: AnyScript
  //^
  //^    Main.HumanModel.Mannequin.Posture = 
  //^    {
  //^      ElbowPronation = -70;
  //^    };
  //^
 
 
  /// Folder defining the posture of the HumanModel. The values are used for 
  /// initial (load time) positions of the model. The values are also sometimes 
  /// used for driving the model, but that is application dependent. 
  AnyFolder Posture  =  {
    //This controls the position of the pelvi wrt. to the global reference frame
    AnyVar PelvisPosX ??= DesignVar(0.046);
    AnyVar PelvisPosY ??= DesignVar(1.16);
    AnyVar PelvisPosZ ??= DesignVar(0);
    
    //This controls the rotation of the pelvis wrt. to the global reference frame
    AnyVar PelvisRotX ??= DesignVar(0);
    AnyVar PelvisRotY ??= DesignVar(0);
    AnyVar PelvisRotZ ??= DesignVar(0);
            
    // These variables control the rotation of the thorax wrt the
    // pelvis    
    AnyVar PelvisThoraxExtension ??= DesignVar(PelvisT12Extension); 
    AnyVar PelvisThoraxLateralBending ??= DesignVar(PelvisT12LateralBending);  
    AnyVar PelvisThoraxRotation ??= DesignVar(PelvisT12Rotation);        

    AnyVar PelvisT12Extension ??= DesignVar(0); 
    AnyVar PelvisT12LateralBending ??= DesignVar(0);  
    AnyVar PelvisT12Rotation ??= DesignVar(0);   
    
    AnyVar T1SkullExtension ??= DesignVar(0);
    AnyVar T1SkullLateralBending ??= DesignVar(0);  
    AnyVar T1SkullRotation ??= DesignVar(0);
    
    AnyVar NeckExtension ??= DesignVar(T1SkullExtension); 
    AnyVar NeckLateralBending ??= DesignVar(T1SkullLateralBending); // not used when neck is switched off
    AnyVar NeckRotation ??= DesignVar(T1SkullRotation);             // not used when neck is switched off
    
    AnyFolder Right  =  {
      //Arm 
      AnyVar SternoClavicularProtraction ??= DesignVar(-23);   //This value is not used for initial position
      AnyVar SternoClavicularElevation ??= 11.5;    //This value is not used for initial position
      #if BM_ARM_CLAVICULA_ROTATION_RHYTHM
      /// NOTE: This value is unused. The SC ais value is not used as the SC axial rotation is controlled by a rythmn (BM_ARM_CLAVICULA_ROTATION_RHYTHM)
      AnyVar SternoClavicularAxialRotation ??= -20; //This value is not used for initial position
      #else
      AnyVar SternoClavicularAxialRotation ??= -20; //This value is not used for initial position
      #endif
      
      AnyVar GlenohumeralFlexion ??= DesignVar(1); 
      AnyVar GlenohumeralAbduction ??= DesignVar(10); 
      AnyVar GlenohumeralExternalRotation ??= DesignVar(0); 
      
      AnyVar ElbowFlexion ??= 0.01; 
      AnyVar ElbowPronation ??= -20.0;
      
      AnyVar WristFlexion ??= DesignVar(0);
      AnyVar WristAbduction ??= DesignVar(0);
            
      //Leg
      AnyVar HipFlexion ??= 0.0; 
      AnyVar HipAbduction ??= 5.0; 
      AnyVar HipExternalRotation ??= 0.0;
      
      AnyVar KneeFlexion ??= 0.0;
      
      AnyVar AnklePlantarFlexion ??= 0.0; 
      AnyVar SubTalarEversion ??= 0.0; 
      
      //Detail Hand
      AnyFolder Finger1  =  {
        AnyVar CMCDeviation ??= -20;
        AnyVar CMCFlexion ??= 20;
        AnyVar MCPFlexion ??= 20;
        AnyVar MCPDeviation ??= DesignVar(0);
        AnyVar DIPFlexion ??= 20;
      };
      
      AnyFolder Finger2  =  {
        AnyVar MCPFlexion ??= 20;
        AnyVar PIPFlexion ??= 20;
        AnyVar DIPFlexion ??= 20;
      };
      
      AnyFolder Finger3 =  {
        AnyVar MCPFlexion ??= 20;
        AnyVar PIPFlexion ??= 20;
        AnyVar DIPFlexion ??= 20;
      };
      
      AnyFolder Finger4 =  {
        AnyVar MCPFlexion ??= 20;
        AnyVar PIPFlexion ??= 20;
        AnyVar DIPFlexion ??= 20;
      };
      
      AnyFolder Finger5 =  {
        AnyVar MCPFlexion ??= 20;
        AnyVar PIPFlexion ??= 20;
        AnyVar DIPFlexion ??= 20;
      };      
    };
    
    AnyFolder Left =  {
      //all values are set to be equal to the right side values 
      //feel free to change this!
      
      //Arm
      AnyVar SternoClavicularProtraction ??= .Right.SternoClavicularProtraction;
      AnyVar SternoClavicularElevation ??= .Right.SternoClavicularElevation;
      #if BM_ARM_CLAVICULA_ROTATION_RHYTHM
      /// NOTE: This value is unused. The SC ais value is not used as the SC axial rotation is controlled by a rythmn (BM_ARM_CLAVICULA_ROTATION_RHYTHM)
      AnyVar SternoClavicularAxialRotation ??= .Right.SternoClavicularAxialRotation;
      #else
      AnyVar SternoClavicularAxialRotation ??= .Right.SternoClavicularAxialRotation;  //This value is not used for initial position
      #endif
      AnyVar GlenohumeralFlexion ??= .Right.GlenohumeralFlexion ; 
      AnyVar GlenohumeralAbduction ??= .Right.GlenohumeralAbduction ;
      AnyVar GlenohumeralExternalRotation ??= .Right.GlenohumeralExternalRotation ;
      
      AnyVar ElbowFlexion ??= .Right.ElbowFlexion; 
      AnyVar ElbowPronation ??= .Right.ElbowPronation;
      
      AnyVar WristFlexion ??= .Right.WristFlexion;
      AnyVar WristAbduction ??= .Right.WristAbduction;
      
      //Leg     
      AnyVar HipFlexion ??= .Right.HipFlexion;  
      AnyVar HipAbduction ??= .Right.HipAbduction;
      AnyVar HipExternalRotation ??= .Right.HipExternalRotation;
      
      AnyVar KneeFlexion ??= .Right.KneeFlexion;
      
      AnyVar AnklePlantarFlexion ??= .Right.AnklePlantarFlexion ;
      AnyVar SubTalarEversion ??= .Right.SubTalarEversion; 
      
      //Detail Hand
      AnyFolder Finger1 =  {
        AnyVar CMCDeviation ??= ..Right.Finger1.CMCDeviation;
        AnyVar CMCFlexion ??= ..Right.Finger1.CMCFlexion;
        AnyVar MCPFlexion ??= ..Right.Finger1.MCPFlexion;
        AnyVar MCPDeviation ??= ..Right.Finger1.MCPDeviation;
        AnyVar DIPFlexion ??= ..Right.Finger1.DIPFlexion;
      };
      
      AnyFolder Finger2 =  {
        AnyVar MCPFlexion ??= ..Right.Finger2.MCPFlexion;
        AnyVar PIPFlexion ??= ..Right.Finger2.PIPFlexion;
        AnyVar DIPFlexion ??= ..Right.Finger2.DIPFlexion;
      };
      
      AnyFolder Finger3 =  {
        AnyVar MCPFlexion ??= ..Right.Finger3.MCPFlexion;
        AnyVar PIPFlexion ??= ..Right.Finger3.PIPFlexion;
        AnyVar DIPFlexion ??= ..Right.Finger3.DIPFlexion;
      };
      
      AnyFolder Finger4 =  {
        AnyVar MCPFlexion ??= ..Right.Finger4.MCPFlexion;
        AnyVar PIPFlexion ??= ..Right.Finger4.PIPFlexion;
        AnyVar DIPFlexion ??= ..Right.Finger4.DIPFlexion;
      };
      
      AnyFolder Finger5 =  {
        AnyVar MCPFlexion ??= ..Right.Finger5.MCPFlexion;
        AnyVar PIPFlexion ??= ..Right.Finger5.PIPFlexion;
        AnyVar DIPFlexion ??= ..Right.Finger5.DIPFlexion;
      };      
    };
  };
  
  /// Folder defining the Posture velocity of the HumanModel. The values 
  /// are sometimes used for driving the model, but that is application dependent. 
  AnyFolder PostureVel =  {  
    //This controls the position of the pelvi wrt. to the global reference frame
    AnyVar PelvisPosX ??= DesignVar(0);
    AnyVar PelvisPosY ??= DesignVar(0);
    AnyVar PelvisPosZ ??= DesignVar(0);
    
    //This controls the rotation of the pelvis wrt. to the global reference frame
    AnyVar PelvisRotX ??= DesignVar(0);
    AnyVar PelvisRotY ??= DesignVar(0);
    AnyVar PelvisRotZ ??= DesignVar(0);
    
    // These variables control the rotation of the thorax wrt the
    // pelvis    
    AnyVar PelvisThoraxExtension ??= DesignVar(PelvisT12Extension); 
    AnyVar PelvisThoraxLateralBending ??= DesignVar(PelvisT12LateralBending);  
    AnyVar PelvisThoraxRotation ??= DesignVar(PelvisT12Rotation);        

    AnyVar PelvisT12Extension ??= DesignVar(0); 
    AnyVar PelvisT12LateralBending ??= DesignVar(0);  
    AnyVar PelvisT12Rotation ??= DesignVar(0);   
    
    
    AnyVar T1SkullExtension ??= DesignVar(0);
    AnyVar T1SkullLateralBending ??= DesignVar(0);  
    AnyVar T1SkullRotation ??= DesignVar(0);
    
    AnyVar NeckExtension ??= DesignVar(T1SkullExtension); 
    AnyVar NeckLateralBending ??= DesignVar(T1SkullLateralBending); // not used when neck is switched off
    AnyVar NeckRotation ??= DesignVar(T1SkullRotation);             // not used when neck is switched off

    
    AnyFolder Right =  {
      //Arm 
      AnyVar SternoClavicularProtraction ??= DesignVar(0);   //This value is not used for initial position
      AnyVar SternoClavicularElevation ??= DesignVar(0);    //This value is not used for initial position
      #if BM_ARM_CLAVICULA_ROTATION_RHYTHM
      /// NOTE: This value is unused. The SC ais value is not used as the SC axial rotation is controlled by a rythmn (BM_ARM_CLAVICULA_ROTATION_RHYTHM)
      AnyVar SternoClavicularAxialRotation ??= DesignVar(0); //This value is not used for initial position
      #else
      AnyVar SternoClavicularAxialRotation ??= DesignVar(0);  //This value is not used for initial position
      #endif
      AnyVar GlenohumeralFlexion ??= DesignVar(0); 
      AnyVar GlenohumeralAbduction ??= DesignVar(0); 
      AnyVar GlenohumeralExternalRotation ??= DesignVar(0); 
      
      AnyVar ElbowFlexion ??= 0.0;
      AnyVar ElbowPronation ??= 0.0;
      
      AnyVar WristFlexion ??= DesignVar(0);
      AnyVar WristAbduction ??= DesignVar(0);
            
      //Leg
      AnyVar HipFlexion ??= 0.0; 
      AnyVar HipAbduction ??= 0.0; 
      AnyVar HipExternalRotation ??= 0.0;
      
      AnyVar KneeFlexion ??= 0.0; 
      
      AnyVar AnklePlantarFlexion ??= 0.0; 
      AnyVar SubTalarEversion ??= 0.0; 
      
      //Detail Hand
      AnyFolder Finger1 =  {
        AnyVar CMCDeviation ??= 0;
        AnyVar CMCFlexion ??= 0;
        AnyVar MCPFlexion ??= 0;
        AnyVar MCPDeviation ??= 0;
        AnyVar DIPFlexion ??= 0;
      };
      
      AnyFolder Finger2 =  {
        AnyVar MCPFlexion ??= 0;
        AnyVar PIPFlexion ??= 0;
        AnyVar DIPFlexion ??= 0;
      };
      
      AnyFolder Finger3 =  {
        AnyVar MCPFlexion ??= 0;
        AnyVar PIPFlexion ??= 0;
        AnyVar DIPFlexion ??= 0;
      };
      
      AnyFolder Finger4 =  {
        AnyVar MCPFlexion ??= 0;
        AnyVar PIPFlexion ??= 0;
        AnyVar DIPFlexion ??= 0;
      };
      
      AnyFolder Finger5 =  {
        AnyVar MCPFlexion ??= 0;
        AnyVar PIPFlexion ??= 0;
        AnyVar DIPFlexion ??= 0;
      };      
      
    };
    
    AnyFolder Left =  {
      //all values are set to be equal to the right side values 
      //feel free to change this!
      
      //Arm
      AnyVar SternoClavicularProtraction ??= .Right.SternoClavicularProtraction;
      AnyVar SternoClavicularElevation ??= .Right.SternoClavicularElevation;
      #if BM_ARM_CLAVICULA_ROTATION_RHYTHM
      /// NOTE: This value is unused. The SC ais value is not used as the SC axial rotation is controlled by a rythmn (BM_ARM_CLAVICULA_ROTATION_RHYTHM)
      AnyVar SternoClavicularAxialRotation ??= .Right.SternoClavicularAxialRotation; //This value is not used for initial position
      #else
      AnyVar SternoClavicularAxialRotation ??= .Right.SternoClavicularAxialRotation;  //This value is not used for initial position
      #endif
      AnyVar GlenohumeralFlexion ??= .Right.GlenohumeralFlexion ; 
      AnyVar GlenohumeralAbduction ??= .Right.GlenohumeralAbduction ;
      AnyVar GlenohumeralExternalRotation ??= .Right.GlenohumeralExternalRotation ;
      
      AnyVar ElbowFlexion ??= .Right.ElbowFlexion; 
      AnyVar ElbowPronation ??= .Right.ElbowPronation;
      
      AnyVar WristFlexion ??= .Right.WristFlexion;
      AnyVar WristAbduction ??= .Right.WristAbduction;
      
      //Leg     
      AnyVar HipFlexion ??= .Right.HipFlexion;  
      AnyVar HipAbduction ??= .Right.HipAbduction;
      AnyVar HipExternalRotation ??= .Right.HipExternalRotation;
      
      AnyVar KneeFlexion ??= .Right.KneeFlexion;
      
      AnyVar AnklePlantarFlexion ??= .Right.AnklePlantarFlexion ;
      AnyVar SubTalarEversion ??= .Right.SubTalarEversion; 
      
      //Detail Hand
      AnyFolder Finger1 =  {
        AnyVar CMCDeviation ??= 0;
        AnyVar CMCFlexion ??= 0;
        AnyVar MCPFlexion ??= 0;
        AnyVar MCPDeviation ??= 0;
        AnyVar DIPFlexion ??= 0;
      };
      
      AnyFolder Finger2 =  {
        AnyVar MCPFlexion ??= 0;
        AnyVar PIPFlexion ??= 0;
        AnyVar DIPFlexion ??= 0;
      };
      
      AnyFolder Finger3 =  {
        AnyVar MCPFlexion ??= 0;
        AnyVar PIPFlexion ??= 0;
        AnyVar DIPFlexion ??= 0;
      };
      
      AnyFolder Finger4 =  {
        AnyVar MCPFlexion ??= 0;
        AnyVar PIPFlexion ??= 0;
        AnyVar DIPFlexion ??= 0;
      };
      
      AnyFolder Finger5 =  {
        AnyVar MCPFlexion ??= 0;
        AnyVar PIPFlexion ??= 0;
        AnyVar DIPFlexion ??= 0;
      };      

    };
  };

  // #if LOAD_SECTION == 1
  // AnyFolder Load =  {
  //   AnyVec3 TopVertebra ??= {0.000, 0.000, 0.000};
    
  //   AnyFolder Right =  {
  //     AnyVec3 Shoulder ??= {0.000, 0.000, 0.000};
  //     AnyVec3 Elbow ??= {0.000, 0.000, 0.000};
  //     AnyVec3 Hand ??= {0.000, 0.000, 0.000};
  //     AnyVec3 Hip ??= {0.000, 0.000, 0.000};
  //     AnyVec3 Knee ??= {0.000, 0.000, 0.000};
  //     AnyVec3 Ankle ??= {0.000, 0.000, 0.000};
  //   };
  //   AnyFolder Left =  {
  //     AnyVec3 Shoulder ??= {0.000, 0.000, 0.000};
  //     AnyVec3 Elbow ??= {0.000, 0.000, 0.000};
  //     AnyVec3 Hand ??= {0.000, 0.000, 0.000};
  //     AnyVec3 Hip ??= {0.000, 0.000, 0.000};
  //     AnyVec3 Knee ??= {0.000, 0.000, 0.000};
  //     AnyVec3 Ankle ??= {0.000, 0.000, 0.000};
  //   };
  // };  // Loads
  // #endif  
  
};