[38ba34]: / Body / AAUHuman / Arm / UlnaMuscleGeometry.any

Download this file

70 lines (52 with data), 3.9 kB

// This file contains muscle attachment points, bml's 
// etc.. For the forearm the data comes from MAYO sub2.

AnyFolder &Ulna =.Seg.Ulna;

Ulna = {
  //points used for fitting cyl to oleacron
  AnyRefNode oleacranon_Cyl_Point2   = {sRel = .Scale(.Data.oleacranon_Cyl_Point2_pos*.Mirror);};
  AnyRefNode oleacranon_Cyl_Point1   = {sRel = .Scale(.Data.oleacranon_Cyl_Point1_pos*.Mirror);};
 
  AnyRefNode oleacranon = {
    AnyMatrix p = .Scale(.Data.oleacranon_p*.Mirror);
  //  AnyFloat lengthscalefactor = ...Sign*.Data.length_ratio;
    AnyFloat lengthscalefactor = .Data.length_ratio;

    AnyFloat radiusscalefactor = 0.99; //scale down the radius because insertaion point is used for def.

   
    AnySurfCylinder  &oleacranon =cyl;
    AnyVar Z_rotation =0;

    #include "<ANYBODY_PATH_MODELUTILS>/WrappingSurfaces/WrappingCylinder5PointFit.any"
  };


  AnyRefNode UlnaMuscleCyl = { 
    sRel = .Scale(.Data.UlnaMuscleCyl_pos*.Mirror);
    AnyVec3 P3 =.Scale(.Data.UlnaMuscleCyl_P3_pos*.Mirror);
    AnyVec3 P2 =.Scale(.Data.UlnaMuscleCyl_P2_pos*.Mirror);
    
    //Calculate orientation of the cylinder
    ARel=RotMat(sRel,P3,P2)*RotMat(-90/180*pi, z)*RotMat(-90/180*pi, y);          
    
    AnySurfCylinder cyl = { 
      Radius=vnorm(.sRel-.P3);
      Length= vnorm(.sRel-.P2);
    };
  };

  
  AnyRefNode O_Pron_quadr_1                  = {sRel = .Scale(.Data.O_Pron_quadr_1_pos*.Mirror);}; 
  AnyRefNode O_Pron_quadr_2                  = {sRel = .Scale(.Data.O_Pron_quadr_2_pos*.Mirror);}; 
  AnyRefNode O_Pronator_teres_caput_ulnare_1 = {sRel = .Scale(.Data.O_Pronator_teres_caput_ulnare_1_pos*.Mirror);};  
  AnyRefNode O_Supinator_ulna_part_1         = {sRel = .Scale(.Data.O_Supinator_ulna_part_1_pos*.Mirror);};
  AnyRefNode O_Supinator_ulna_part_2         = {sRel = .Scale(.Data.O_Supinator_ulna_part_2_pos*.Mirror);};  
  AnyRefNode I_Brachialis_1                  = {sRel = .Scale(.Data.I_Brachialis_1_pos*.Mirror);};
  AnyRefNode I_Brachialis_2                  = {sRel = .Scale(.Data.I_Brachialis_2_pos*.Mirror);};  
  AnyRefNode I_Triceps_LH_1                  = {sRel = .Scale(.Data.I_Triceps_LH_1_pos*.Mirror);};
  AnyRefNode I_Triceps_LH_2                  = {sRel = .Scale(.Data.I_Triceps_LH_2_pos*.Mirror);};
  AnyRefNode I_Anconeus_1                    = {sRel = .Scale(.Data.I_Anconeus_1_pos*.Mirror);};
  AnyRefNode I_Anconeus_2                    = {sRel = .Scale(.Data.I_Anconeus_2_pos*.Mirror);};
  AnyRefNode I_Triceps_ME_1                  = {sRel = .Scale(.Data.I_Triceps_ME_1_pos*.Mirror);};
  AnyRefNode I_Triceps_ME_2                  = {sRel = .Scale(.Data.I_Triceps_ME_2_pos*.Mirror);};
  AnyRefNode I_Triceps_LA_1                  = {sRel = .Scale(.Data.I_Triceps_LA_1_pos*.Mirror);};
  AnyRefNode I_Triceps_LA_2                  = {sRel = .Scale(.Data.I_Triceps_LA_2_pos*.Mirror);};    
  AnyRefNode O_Extensor_Indicis              = {sRel = .Scale(.Data.O_Extensor_Indicis_pos*.Mirror);};
  AnyRefNode O_Extensor_Pollicis_Longus      = {sRel = .Scale(.Data.O_Extensor_Pollicis_Longus_pos*.Mirror);};
  AnyRefNode O_Abductor_Pollicis_Longus      = {sRel = .Scale(.Data.O_Abductor_Pollicis_Longus_pos*.Mirror);};  
  AnyRefNode Via1_Flexor_Carpi_Ulnaris       = {sRel = .Scale(.Data.Via1_Flexor_Carpi_Ulnaris_pos*.Mirror);};  
  AnyRefNode Via2_Flexor_Carpi_Ulnaris       = {sRel = .Scale(.Data.Via2_Flexor_Carpi_Ulnaris_pos*.Mirror);};
  AnyRefNode Via1_Extensor_Carpi_Ulnaris     = {sRel = .Scale(.Data.Via1_Extensor_Carpi_Ulnaris_pos*.Mirror);};  
  AnyRefNode Via2_Extensor_Carpi_Ulnaris     = {sRel = .Scale(.Data.Via2_Extensor_Carpi_Ulnaris_pos*.Mirror);};
  AnyRefNode O_Flexor_Digitorum_Superficialis= {sRel = .Scale(.Data.O_Flexor_Digitorum_Superficialis_pos*.Mirror);};  
  AnyRefNode O_Flexor_Digitorum_Profundus    = {sRel = .Scale(.Data.O_Flexor_Digitorum_Profundus_pos*.Mirror);};
  
};