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

Download this file

330 lines (255 with data), 19.5 kB

// This file contains muscle attachment points for the clavicle segment data from VU sub 2.
// The original coordinates have been transformed from global coordinates to the segment local 
// coordinate system
AnyFolder &Humerus =.Seg.Humerus;

Humerus = {
  #include "../DrawSettings/SegmentAxes.any" 

  AnyRefNode art_gh_hum = {

    sRel = .Scale(.Data.art_gh_hum_pos*.Mirror);
    AnyVar Radius=0.0266;
    
    AnyVec3 P1=.Scale(.Data.art_gh_hum_P1_pos*.Mirror);
    AnyVec3 P2=.Scale(.Data.art_gh_hum_P2_pos*.Mirror);
    AnyVec3 P3=.Scale(.Data.art_gh_hum_P3_pos*.Mirror);
    
    //These three numbers are the distance from srel to P1, P2 and P3
    AnyVar P1Radius= vnorm(sRel-P1);
    AnyVar P2Radius= vnorm(sRel-P2);
    AnyVar P3Radius= vnorm(sRel-P3);
        
    //The art_gh_hum surf is made as an ellipsoid this is the only way to ensure that when
    //scaling the bone the muscle insertation points will remain outside the surface
    AnySurfEllipsoid art_gh_humSurf = {Radius ={.P1Radius,.P2Radius,.P3Radius};};
  };
  
 
  AnyRefNode  SubscapularisHumerusWrapping = {
    AnyVec3 CenterOffset = {0.005,0.005,0.00};
    sRel = .Scale((.Data.gh_pos+CenterOffset)*.Mirror);
    ARel = RotMat(pi/2, x);

    AnyVec3 humerus_top=.Scale(.Data.art_gh_hum_P2_pos*.Mirror);
    AnyVec3 i_subscapularis = .I_subscapularis_1.sRel;

    AnySurfCylinder cyl = {
      Radius = 0.99*vnorm(.sRel-.i_subscapularis);
      Length = 0*Radius;
      viewSurface.Opacity = 0.5;
      CapRatio2 = vnorm(.sRel-.humerus_top)/Radius;
      CapRatio = 2.7;
    };

  };
  
  //Used for deltoid muscle wrapping  
  AnyRefNode art_tub_minus_tub_majus = {
    sRel = .Scale(.Data.art_tub_minus_tub_majus_pos*.Mirror);    
    
    //Two points lying with an angle of 90 deg between are used for to control 
    //the scaling of the sphere
    AnyVar Radius =0.036;
    AnyVec3 P1=.Scale(.Data.art_tub_minus_tub_majus_P1_pos*.Mirror);
    AnyVec3 P2=.Scale(.Data.art_tub_minus_tub_majus_P2_pos*.Mirror);
    
    //These two numbers are the distance from srel to P1 and P2
    AnyVar P1Radius= vnorm(sRel-P1);
    AnyVar P2Radius= vnorm(sRel-P2);
    
    //Take the average and use this as the radius
    AnyVar RadiusAverage =(P1Radius+P2Radius)/2;
    ARel={ {0,0,1}, {1,0,0}, {0,1,0}};
    
    AnySurfSphere art_tub_minus_tub_majusSurf = {Radius =.RadiusAverage;};    
  };
 
  AnyRefNode art_tub_minus               ={sRel = .Scale(.Data.art_tub_minus_pos*.Mirror);};
  AnyRefNode art_tub_majus               ={sRel = .Scale(.Data.art_tub_majus_pos*.Mirror);}; 
  AnyRefNode sulcus_intertubercularis    ={sRel = .Scale(.Data.sulcus_intertubercularis_pos*.Mirror);};
  AnyRefNode sulcus_intertubercularisTop ={sRel = .Scale(.Data.sulcus_intertubercularisTop_pos*.Mirror);};
  
  
  AnyRefNode collum_hum = {
    AnyVec3 P2 =.Scale(.Data.collum_hum_P2_pos*.Mirror); ////Point used for radius
    AnyVec3 P3 =.Scale(.Data.collum_hum_P3_pos*.Mirror); //End point
    sRel = .Scale(.Data.collum_hum_pos*.Mirror);
    
    //Calculate orientation of the cylinder (A little different to all other surfaces)
    ARel=RotMat(sRel,P3,P2)*RotMat(90/180*pi, x)*RotMat(90/180*pi, y);            

    AnySurfCylinder collum_hum= { 
      Radius=vnorm(.sRel-.P2);
      Length=vnorm(.sRel-.P3);
    };
  }; 
  
 
  
  AnyRefNode collum_hum_teres_minor_major = {
    AnyMatrix p = .Scale(.Data.HumerusWrapLandmarks*.Mirror);
    AnyFloat lengthscalefactor = 1;
    AnyFloat radiusscalefactor = 0.92;
    
    AnyVar Z_rotation =0.5*pi*(1-...Sign);
    #include "<ANYBODY_PATH_MODELUTILS>/WrappingSurfaces/WrappingCylinder5PointFit.any"
    cyl ={CapRatio =1;};
  };


  
  AnyRefNode teres_minor_humurus_wrap = {
    AnyVar minor_radius = 0.90*abs(.gh.sRel-.I_teres_minor_1.sRel)[0];
    AnyVar major_radius = minor_radius*1.9;

    AnyVec3 minor_center = {0, .I_teres_minor_3.sRel[1],0};
    AnyMat33 orientation = RotMat(0.0*...Sign,y);
    
    AnyVec3 major_center = minor_center+major_radius*...Sign*orientation'[0];
        
    sRel=major_center;
    ARel = orientation;
    //viewRefFrame.Visible = Off;
    
    AnySurfTorus torus = {
       MajorRadius = .major_radius;
       MinorRadius = .minor_radius;
       //viewSurface.Visible=On;    
    };
    
    
  };

  AnyRefNode infraspinatus_humurus_wrap = {
    AnyVar minor_radius = 0.96*abs(.gh.sRel-.I_infraspinatus_5.sRel)[0];
    AnyVar major_radius = minor_radius*1.9;

    AnyVec3 minor_center = {0, .I_infraspinatus_5.sRel[1],0};
    AnyMat33 orientation = RotMat(0.0*...Sign,y);
    
    AnyVec3 major_center = minor_center+major_radius*...Sign*orientation'[0];
        
    sRel=major_center;
    ARel = orientation;
    //viewRefFrame.Visible = Off;
    
    AnySurfTorus torus = {
       MajorRadius = .major_radius;
       MinorRadius = .minor_radius;
       //viewSurface.Visible=On;    
    };
    
    
  };

  AnyRefNode tricpes_gh_sphere = {
   sRel=.gh.sRel;
    ARel =RotMat(...Sign*0.25*pi,y);
    AnySurfSphere surf = { 
      AnyVar ra=    1*..art_gh_hum.Radius;
      Radius=ra ;
    };
  };


  // This is a collum which visually has been fitted to the distal end of humerus 
  // it is used for wrapping of elbow flexor muscles.
  AnyRefNode condylus_hum= {
    
    AnyMatrix p = .Scale(.Data.condylus_hum_landmarks *.Mirror);

    AnyFloat lengthscalefactor = 5;
    AnyFloat radiusscalefactor = 1.2; 
  
    AnyVar Z_rotation =iffun(eqfun(1.0,...Sign),1,0)*pi;

    #include "<ANYBODY_PATH_MODELUTILS>/WrappingSurfaces/WrappingCylinder5PointFit.any"
    cyl = {
      CapRatio = 0.8;
    };
  };    

  // This is a collum which visually has been fitted to the distal end of humerus 
  // it is used for wrapping of Triceps muscles
  AnyRefNode condylus_humT = { 
    AnyVec3 P2 =.Scale(.Data.condylus_humT_P2_pos*.Mirror); //End point
    AnyVec3 P3 =.Scale(.Data.condylus_humT_P3_pos*.Mirror); //Point used for radius
    
    sRel = .Scale(.Data.condylus_humT_pos*.Mirror);
    
    //Calculate orientation of the cylinder
    ARel=RotMat(sRel,P3,P2)*RotMat(-90/180*pi, z)*RotMat(-90/180*pi, y);          
    
    AnySurfCylinder condylus_humT= { 
      Radius=vnorm(.sRel-.P3);
      Length=vnorm(.sRel-.P2);
    }; 
  }; 
  
#if BM_ARM_DELTOID_WRAPPING == _DELTOID_WRAPPING_RAKE_
  AnyRefNode I_deltoideus_scapular_part_1         = {sRel = .Scale(.Data.I_deltoideus_scapular_part_1_pos*.Mirror);};
  AnyRefNode I_deltoideus_scapular_part_2         = {sRel = .Scale(.Data.I_deltoideus_scapular_part_2_pos*.Mirror);};
  AnyRefNode I_deltoideus_scapular_part_3         = {sRel = .Scale(.Data.I_deltoideus_scapular_part_3_pos*.Mirror);};
  AnyRefNode I_deltoideus_scapular_part_4         = {sRel = .Scale(.Data.I_deltoideus_scapular_part_4_pos*.Mirror);};
  AnyRefNode I_deltoideus_scapular_part_5         = {sRel = .Scale(.Data.I_deltoideus_scapular_part_5_pos*.Mirror);};
  AnyRefNode I_deltoideus_scapular_part_6         = {sRel = .Scale(.Data.I_deltoideus_scapular_part_6_pos*.Mirror);};
  AnyRefNode I_deltoideus_clavicular_part_1       = {sRel = .Scale(.Data.I_deltoideus_clavicular_part_1_pos*.Mirror);};
  AnyRefNode I_deltoideus_clavicular_part_2       = {sRel = .Scale(.Data.I_deltoideus_clavicular_part_2_pos*.Mirror);};
  AnyRefNode I_deltoideus_clavicular_part_3       = {sRel = .Scale(.Data.I_deltoideus_clavicular_part_3_pos*.Mirror);};
  AnyRefNode I_deltoideus_clavicular_part_4       = {sRel = .Scale(.Data.I_deltoideus_clavicular_part_4_pos*.Mirror);};
  AnyRefNode I_deltoideus_clavicular_part_5       = {sRel = .Scale(.Data.I_deltoideus_clavicular_part_5_pos*.Mirror);};
  AnyRefNode I_deltoideus_clavicular_part_6       = {sRel = .Scale(.Data.I_deltoideus_clavicular_part_6_pos*.Mirror);};
#else
  AnyRefNode I_deltoideus_posterior_part_1         = {sRel = .Scale(.Data.I_deltoideus_posterior_part_1_pos*.Mirror);};
  AnyRefNode I_deltoideus_posterior_part_2        = {sRel = .Scale(.Data.I_deltoideus_posterior_part_2_pos*.Mirror);};
  AnyRefNode I_deltoideus_posterior_part_3        = {sRel = .Scale(.Data.I_deltoideus_posterior_part_3_pos*.Mirror);};
  AnyRefNode I_deltoideus_posterior_part_4        = {sRel = .Scale(.Data.I_deltoideus_posterior_part_4_pos*.Mirror);};
  AnyRefNode I_deltoideus_lateral_part_1         = {sRel = .Scale(.Data.I_deltoideus_lateral_part_1_pos*.Mirror);};
  AnyRefNode I_deltoideus_lateral_part_2         = {sRel = .Scale(.Data.I_deltoideus_lateral_part_2_pos*.Mirror);};
  AnyRefNode I_deltoideus_lateral_part_3         = {sRel = .Scale(.Data.I_deltoideus_lateral_part_3_pos*.Mirror);};
  AnyRefNode I_deltoideus_lateral_part_4         = {sRel = .Scale(.Data.I_deltoideus_lateral_part_4_pos*.Mirror);};
  AnyRefNode I_deltoideus_anterior_part_1       = {sRel = .Scale(.Data.I_deltoideus_anterior_part_1_pos*.Mirror);};
  AnyRefNode I_deltoideus_anterior_part_2       = {sRel = .Scale(.Data.I_deltoideus_anterior_part_2_pos*.Mirror);};
  AnyRefNode I_deltoideus_anterior_part_3       = {sRel = .Scale(.Data.I_deltoideus_anterior_part_3_pos*.Mirror);};
  AnyRefNode I_deltoideus_anterior_part_4       = {sRel = .Scale(.Data.I_deltoideus_anterior_part_4_pos*.Mirror);};
#endif
  AnyRefNode I_subscapularis_1                    = {sRel = .Scale(.Data.I_subscapularis_1_pos*.Mirror);};
  AnyRefNode I_subscapularis_2                    = {sRel = .Scale(.Data.I_subscapularis_2_pos*.Mirror);};
  AnyRefNode I_subscapularis_3                    = {sRel = .Scale(.Data.I_subscapularis_3_pos*.Mirror);};
  AnyRefNode I_subscapularis_4                    = {sRel = .Scale(.Data.I_subscapularis_4_pos*.Mirror);};
  AnyRefNode I_subscapularis_5                    = {sRel = .Scale(.Data.I_subscapularis_5_pos*.Mirror);};
  AnyRefNode I_subscapularis_6                    = {sRel = .Scale(.Data.I_subscapularis_6_pos*.Mirror);};

  AnyRefNode I_supraspinatus_1                    = {sRel = .Scale(.Data.I_supraspinatus_1_pos*.Mirror);};
  AnyRefNode I_supraspinatus_2                    = {sRel = .Scale(.Data.I_supraspinatus_2_pos*.Mirror);};
  AnyRefNode I_supraspinatus_3                    = {sRel = .Scale(.Data.I_supraspinatus_3_pos*.Mirror);};
  AnyRefNode I_supraspinatus_4                    = {sRel = .Scale(.Data.I_supraspinatus_4_pos*.Mirror);};
  AnyRefNode I_supraspinatus_5                    = {sRel = .Scale(.Data.I_supraspinatus_5_pos*.Mirror);};
  AnyRefNode I_supraspinatus_6                    = {sRel = .Scale(.Data.I_supraspinatus_6_pos*.Mirror);};

  AnyRefNode I_infraspinatus_1                    = {sRel = .Scale(.Data.I_infraspinatus_1_pos*.Mirror);};
  AnyRefNode I_infraspinatus_2                    = {sRel = .Scale(.Data.I_infraspinatus_2_pos*.Mirror);};
  AnyRefNode I_infraspinatus_3                    = {sRel = .Scale(.Data.I_infraspinatus_3_pos*.Mirror);};
  AnyRefNode I_infraspinatus_4                    = {sRel = .Scale(.Data.I_infraspinatus_4_pos*.Mirror);};
  AnyRefNode I_infraspinatus_5                    = {sRel = .Scale(.Data.I_infraspinatus_5_pos*.Mirror);};
  AnyRefNode I_infraspinatus_6                    = {sRel = .Scale(.Data.I_infraspinatus_6_pos*.Mirror);};

  AnyRefNode I_teres_minor_1                      = {sRel = .Scale(.Data.I_teres_minor_1_pos*.Mirror);};
  AnyRefNode I_teres_minor_2                      = {sRel = .Scale(.Data.I_teres_minor_2_pos*.Mirror);};
  AnyRefNode I_teres_minor_3                      = {sRel = .Scale(.Data.I_teres_minor_3_pos*.Mirror);};
  AnyRefNode I_teres_minor_4                      = {sRel = .Scale(.Data.I_teres_minor_4_pos*.Mirror);};
  AnyRefNode I_teres_minor_5                      = {sRel = .Scale(.Data.I_teres_minor_5_pos*.Mirror);};
  AnyRefNode I_teres_minor_6                      = {sRel = .Scale(.Data.I_teres_minor_6_pos*.Mirror);};

  AnyRefNode I_teres_major_1                      = {sRel = .Scale(.Data.I_teres_major_1_pos*.Mirror);};
  AnyRefNode I_teres_major_2                      = {sRel = .Scale(.Data.I_teres_major_2_pos*.Mirror);};
  AnyRefNode I_teres_major_3                      = {sRel = .Scale(.Data.I_teres_major_3_pos*.Mirror);};
  AnyRefNode I_teres_major_4                      = {sRel = .Scale(.Data.I_teres_major_4_pos*.Mirror);};
  AnyRefNode I_teres_major_5                      = {sRel = .Scale(.Data.I_teres_major_5_pos*.Mirror);};
  AnyRefNode I_teres_major_6                      = {sRel = .Scale(.Data.I_teres_major_6_pos*.Mirror);};

  AnyRefNode I_coracobrachialis_1                 = {sRel = .Scale(.Data.I_coracobrachialis_1_pos*.Mirror);};
  AnyRefNode I_coracobrachialis_2                 = {sRel = .Scale(.Data.I_coracobrachialis_2_pos*.Mirror);};
  AnyRefNode I_coracobrachialis_3                 = {sRel = .Scale(.Data.I_coracobrachialis_3_pos*.Mirror);};
  AnyRefNode I_coracobrachialis_4                 = {sRel = .Scale(.Data.I_coracobrachialis_4_pos*.Mirror);};
  AnyRefNode I_coracobrachialis_5                 = {sRel = .Scale(.Data.I_coracobrachialis_5_pos*.Mirror);};
  AnyRefNode I_coracobrachialis_6                 = {sRel = .Scale(.Data.I_coracobrachialis_6_pos*.Mirror);};
  AnyRefNode I_triceps_brachii_1                  = {sRel = .Scale(.Data.I_triceps_brachii_1_pos*.Mirror);};
  AnyRefNode I_triceps_brachii_2                  = {sRel = .Scale(.Data.I_triceps_brachii_2_pos*.Mirror);};

  AnyRefNode I_latissimus_dorsi_1                 = {sRel = .Scale(.Data.I_latissimus_dorsi_1_pos*.Mirror);};
  AnyRefNode I_latissimus_dorsi_2                 = {sRel = .Scale(.Data.I_latissimus_dorsi_2_pos*.Mirror);};
  AnyRefNode I_latissimus_dorsi_3                 = {sRel = .Scale(.Data.I_latissimus_dorsi_3_pos*.Mirror);};
  AnyRefNode I_latissimus_dorsi_4                 = {sRel = .Scale(.Data.I_latissimus_dorsi_4_pos*.Mirror);};
  AnyRefNode I_latissimus_dorsi_5                 = {sRel = .Scale(.Data.I_latissimus_dorsi_5_pos*.Mirror);};
  AnyRefNode I_latissimus_dorsi_6                 = {sRel = .Scale(.Data.I_latissimus_dorsi_6_pos*.Mirror);};
  AnyRefNode I_latissimus_dorsi_7                 = {sRel = .Scale(.Data.I_latissimus_dorsi_7_pos*.Mirror);};
  AnyRefNode I_latissimus_dorsi_8                 = {sRel = .Scale(.Data.I_latissimus_dorsi_8_pos*.Mirror);};
  AnyRefNode I_latissimus_dorsi_9                 = {sRel = .Scale(.Data.I_latissimus_dorsi_9_pos*.Mirror);};
  AnyRefNode I_latissimus_dorsi_10                 = {sRel = .Scale(.Data.I_latissimus_dorsi_10_pos*.Mirror);};
  AnyRefNode I_latissimus_dorsi_11                 = {sRel = .Scale(.Data.I_latissimus_dorsi_11_pos*.Mirror);};

  AnyRefNode I_pectoralis_major_thoracic_part_1   = {sRel = .Scale(.Data.I_pectoralis_major_thoracic_part_1_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_thoracic_part_2   = {sRel = .Scale(.Data.I_pectoralis_major_thoracic_part_2_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_thoracic_part_3   = {sRel = .Scale(.Data.I_pectoralis_major_thoracic_part_3_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_thoracic_part_4   = {sRel = .Scale(.Data.I_pectoralis_major_thoracic_part_4_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_thoracic_part_5   = {sRel = .Scale(.Data.I_pectoralis_major_thoracic_part_5_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_thoracic_part_6   = {sRel = .Scale(.Data.I_pectoralis_major_thoracic_part_6_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_thoracic_part_7   = {sRel = .Scale(.Data.I_pectoralis_major_thoracic_part_7_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_thoracic_part_8   = {sRel = .Scale(.Data.I_pectoralis_major_thoracic_part_8_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_thoracic_part_9   = {sRel = .Scale(.Data.I_pectoralis_major_thoracic_part_9_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_thoracic_part_10   = {sRel = .Scale(.Data.I_pectoralis_major_thoracic_part_10_pos*.Mirror);};

  AnyRefNode I_pectoralis_major_clavicular_part_1 = {sRel = .Scale(.Data.I_pectoralis_major_clavicular_part_1_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_clavicular_part_2 = {sRel = .Scale(.Data.I_pectoralis_major_clavicular_part_2_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_clavicular_part_3 = {sRel = .Scale(.Data.I_pectoralis_major_clavicular_part_3_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_clavicular_part_4 = {sRel = .Scale(.Data.I_pectoralis_major_clavicular_part_4_pos*.Mirror);};
  AnyRefNode I_pectoralis_major_clavicular_part_5 = {sRel = .Scale(.Data.I_pectoralis_major_clavicular_part_5_pos*.Mirror);};
  
  AnyRefNode O_Brachialis_1                   = {sRel = .Scale(.Data.O_Brachialis_1_pos*.Mirror);};
  AnyRefNode O_Brachialis_2                   = {sRel = .Scale(.Data.O_Brachialis_2_pos*.Mirror);};

  AnyRefNode Via_Triceps_LH_1                   = {sRel = .Scale(.Data.Via_Triceps_LH_1_pos*.Mirror);};
  AnyRefNode Via_Triceps_LH_2                   = {sRel = .Scale(.Data.Via_Triceps_LH_2_pos*.Mirror);};
  
  AnyRefNode O_Triceps_ME_1                   = {sRel = .Scale(.Data.O_Triceps_ME_1_pos*.Mirror);};
  AnyRefNode O_Triceps_ME_2                   = {sRel = .Scale(.Data.O_Triceps_ME_2_pos*.Mirror);};

  AnyRefNode O_Triceps_LA_1                   = {sRel = .Scale(.Data.O_Triceps_LA_1_pos*.Mirror);};
  AnyRefNode O_Triceps_LA_2                   = {sRel = .Scale(.Data.O_Triceps_LA_2_pos*.Mirror);};

  AnyRefNode O_Brach_rad_1                    = {sRel = .Scale(.Data.O_Brach_rad_1_pos*.Mirror);};
  AnyRefNode O_Brach_rad_2                    = {sRel = .Scale(.Data.O_Brach_rad_2_pos*.Mirror);};

  AnyRefNode O_Anconeus_1                     = {sRel = .Scale(.Data.O_Anconeus_1_pos*.Mirror);};
  AnyRefNode O_Anconeus_2                     = {sRel = .Scale(.Data.O_Anconeus_2_pos*.Mirror);};
  AnyRefNode O_Pronator_teres_caput_humeral_1 = {sRel = .Scale(.Data.O_Pronator_teres_caput_humeral_1_pos*.Mirror);};
  AnyRefNode O_Pronator_teres_caput_humeral_2 = {sRel = .Scale(.Data.O_Pronator_teres_caput_humeral_2_pos*.Mirror);};

  AnyRefNode O_Supinator_humerus_part_1       = {sRel = .Scale(.Data.O_Supinator_humerus_part_1_pos*.Mirror);};
  AnyRefNode O_Supinator_humerus_part_2       = {sRel = .Scale(.Data.O_Supinator_humerus_part_2_pos*.Mirror);};
  AnyRefNode I_Cor_brach_1                    = {sRel = .Scale(.Data.I_Cor_brach_1_pos*.Mirror);};
  AnyRefNode I_Cor_brach_2                    = {sRel = .Scale(.Data.I_Cor_brach_2_pos*.Mirror);};

  
  AnyRefNode O_Extensor_Carpi_Ulnaris         = {sRel = .Scale(.Data.O_Extensor_Carpi_Ulnaris_pos*.Mirror);};  
  AnyRefNode O_Extensor_Carpi_Radialis_Brevis = {sRel = .Scale(.Data.O_Extensor_Carpi_Radialis_Brevis_pos*.Mirror);};  
  
  AnyRefNode O_Extensor_Carpi_Radialis_Longus = {sRel = .Scale(.Data.O_Extensor_Carpi_Radialis_Longus_pos*.Mirror);};
  AnyRefNode O_Flexor_Carpi_Ulnaris           = {sRel = .Scale(.Data.O_Flexor_Carpi_Ulnaris_pos*.Mirror);};  
  AnyRefNode O_Flexor_Carpi_Radialis          = {sRel = .Scale(.Data.O_Flexor_Carpi_Radialis_pos*.Mirror);};  
  AnyRefNode O_Palmaris_Longus                = {sRel = .Scale(.Data.O_Palmaris_Longus_pos*.Mirror);};  
  
  AnyRefNode O_Flexor_Digitorum_Superficialis = {sRel = .Scale(.Data.O_Flexor_Digitorum_Superficialis_pos*.Mirror);};
  AnyRefNode O_Extensor_Digitorum             = {sRel = .Scale(.Data.O_Extensor_Digitorum_pos*.Mirror);};  
  AnyRefNode O_Extensor_Digiti_Minimi         = {sRel = .Scale(.Data.O_Extensor_Digiti_Minimi_pos*.Mirror);};
  
};