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);};
};