[bfdf16]: / Body / AAUHuman / BodyModels / GenericBodyModel / BodyModel.BodyPartsSetup.any

Download this file

110 lines (83 with data), 4.0 kB



// ----------------------------------------------------------------------------------------------------------------
// BodyPartSetup - generic handling
// ----------------------------------------------------------------------------------------------------------------


// Setup default BM_LEG_DATASET for the TLEM models
#if BM_LEG_MODEL == _LEG_MODEL_TLEM1_
  #path BM_LEG_TLEM_PATH "../../LegTLEM1"
  #ifndef BM_LEG_DATASET
  #define BM_LEG_DATASET "TLEM1.2"
  #endif
#endif

#if BM_LEG_MODEL == _LEG_MODEL_TLEM21_
  #path BM_LEG_TLEM_PATH "../../LegTLEM2.1"
  #ifndef BM_LEG_DATASET
  #define BM_LEG_DATASET "TLEM2.1"
  #endif
#endif

#if BM_LEG_MODEL == _LEG_MODEL_TLEM2_
  #path BM_LEG_TLEM_PATH "../../LegTLEM"
  #ifndef BM_LEG_DATASET
  #define BM_LEG_DATASET "TLEM2.2"
  #endif
#endif



#ifdef BM_LEG_DATASET
  #ifndef BM_LEG_DATASET_PATH
    #path BM_LEG_DATASET_PATH "<BM_LEG_TLEM_PATH>/" + BM_LEG_DATASET
    #include "<BM_LEG_DATASET_PATH>/PreprocDefaults.any"
  #endif
#endif


//
// SCALING related logic
//
#ifdef BM_SCALING_FILE 
   #if BM_SCALING != _SCALING_CUSTOM_
   AnyInt bm_scaling_notice1= notice(0, strformat("\n"+
      "------------------------------------------------------------------------------------------------------\n"+
      "    A custom scaling law is specified by `BM_SCALING_FILE`. "+
      "    This overrides the selection by the BM_SCALING parameter\n"+
      "    Set `#define BM_SCALING _SCALING_CUSTOM_` to dismiss this notice.'\n"+
      "-------------------------------------------------------------------------------------------------------"));
   #endif
   #undef BM_SCALING
   #define BM_SCALING _SCALING_CUSTOM_
#endif
  
   
//Base scaling laws according to the configuration file
#if (BM_SCALING == _SCALING_NONE_)
  #path BM_SCALING_FILE  "<ANYBODY_PATH_BODY>\Scaling\ScalingNone.any"
#endif

#if (BM_SCALING == _SCALING_STANDARD_) | (BM_SCALING == _SCALING_UNIFORM_)
  #path BM_SCALING_FILE  "<ANYBODY_PATH_BODY>\Scaling\ScalingUniform.any"
#endif

#if (BM_SCALING == _SCALING_LENGTHMASS_)
  #path BM_SCALING_FILE  "<ANYBODY_PATH_BODY>\Scaling\ScalingLengthMass.any" 
#endif   

#if (BM_SCALING == _SCALING_LENGTHMASSFAT_)
  #path BM_SCALING_FILE  "<ANYBODY_PATH_BODY>\Scaling\ScalingLengthMassFat.any" 
#endif   

#if BM_SCALING == _SCALING_XYZ_
  #path BM_SCALING_FILE "<ANYBODY_PATH_BODY>\Scaling\ScalingXYZMassFat.any"
#endif
   

#ifdef BM_SCALING_ANTHRO_FILE
#if BM_SCALING == _SCALING_STANDARD_ | BM_SCALING == _SCALING_NONE_
   AnyInt BM_Warning1= warn(0, strformat("\n"+
      "------------------------------------------------------------------------------------------------------\n"+
      "    The BM_SCALING setting is does not work with custom anthropometric data.\n"+
      "    E.g. anthropmetry set with '#path BM_SCALING_ANTHRO_FILE'\n"+
      "    BM_SCALING have been redefined to _SCALING_UNIFORM_.\n"+
      "    To dismiss this warning; set BM_SCALING yourself or do not set BM_SCALING_ANTHRO_FILE.\n"+
      "-------------------------------------------------------------------------------------------------------"));
   #undef BM_SCALING
   #define BM_SCALING _SCALING_UNIFORM_
#endif
#endif

//
// Muscle Calibration related logic
//
#if BM_CALIBRATION_TYPE == _CALIBRATION_TYPE_2PAR_ & BM_TRUNK_CERVICAL_RHYTHM == OFF

  AnyInt bm_cervical_rhythm_notice1= notice(0, strformat("\n"+
      "------------------------------------------------------------------------------------------------------\n"+
      "    Please note that BM_TRUNK_CERVICAL_RHYTHM is set to OFF. \n"+
      "    No default mannequin drivers are used to drive cervicalspine joints.\n"+
      "    _CALIBRATION_TYPE_2PAR_ requires BM_TRUNK_CERVICAL_RHYTHM to be ON.\n"+
      "-------------------------------------------------------------------------------------------------------"));

#endif