joint_centres = """ humanoid_root 0.0000 0.8240 0.0277 sacroiliac 0.0000 0.9149 0.0016 l_hip 0.0961 0.9124 -0.0001 l_knee 0.1040 0.4867 0.0308 l_talocrural 0.1101 0.0656 -0.0736 l_tarsotarsal_interphalangeal_ 0.1086 0.0001 -0.0368 l_metatarsophalangeal_ 0.1086 0.0001 0.0368 l_tarsal_interphalangeal_ 0.1086 0.0000 0.0762 r_hip -0.0950 0.9171 0.0029 r_knee -0.0867 0.4913 0.0318 r_talocrural -0.0801 0.0712 -0.0766 r_tarsotarsal_interphalangeal_ -0.0801 0.0000 -0.0368 r_metatarsophalangeal_ -0.0801 0.0000 0.0368 r_tarsal_interphalangeal_ -0.0801 0.0039 0.0732 vl5 0.0028 1.0568 -0.0776 vl4 0.0035 1.0925 -0.0787 vl3 0.0041 1.1276 -0.0796 vl2 0.0045 1.1546 -0.0800 vl1 0.0048 1.1912 -0.0805 vt12 0.0051 1.2278 -0.0808 vt11 0.0053 1.2679 -0.0810 vt10 0.0056 1.2848 -0.0822 vt9 0.0057 1.3126 -0.0838 vt8 0.0057 1.3382 -0.0845 vt7 0.0058 1.3625 -0.0833 vt6 0.0059 1.3866 -0.0800 vt5 0.0060 1.4102 -0.0745 vt4 0.0061 1.4320 -0.0675 vt3 0.0062 1.4583 -0.0570 vt2 0.0063 1.4761 -0.0484 vt1 0.0065 1.4951 -0.0387 vc7 0.0066 1.5132 -0.0301 vc6 0.0066 1.5357 -0.0143 vc5 0.0066 1.5520 -0.0082 vc4 0.0066 1.5662 -0.0084 vc3 0.0066 1.5800 -0.0103 vc2 0.0066 1.5928 -0.0103 vc1 0.0066 1.6144 -0.0034 skullbase 0.0044 1.6209 0.0236 l_eyeball 0.0336 1.6332 0.0502 r_eyeball -0.0236 1.6331 0.0510 l_sternoclavicular 0.0820 1.4488 -0.0353 l_acromioclavicular 0.0962 1.4269 -0.0424 l_shoulder 0.2029 1.4376 -0.0387 l_elbow 0.2014 1.1357 -0.0682 l_radiocarpal 0.1984 0.8663 -0.0583 l_carpometacarpal_1 0.1924 0.8472 -0.0534 l_metacarpophalangeal_1 0.1951 0.8226 0.0246 l_carpal_interphalangeal_1 0.1955 0.8159 0.0464 l_carpometacarpal_2 0.1983 0.8024 -0.0280 l_metacarpophalangeal_2 0.1983 0.7815 -0.0280 l_carpal_proximal_interphalangeal_2 0.2017 0.7363 -0.0248 l_carpal_distal_interphalangeal_2 0.2028 0.7139 -0.0236 l_carpometacarpal_3 0.1987 0.8029 -0.0530 l_metacarpophalangeal_3 0.1987 0.7818 -0.0530 l_carpal_proximal_interphalangeal_3 0.2013 0.7273 -0.0503 l_carpal_distal_interphalangeal_3 0.2026 0.7011 -0.0494 l_carpometacarpal_4 0.1956 0.8019 -0.0794 l_metacarpophalangeal_4 0.1956 0.7815 -0.0794 l_carpal_proximal_interphalangeal_4 0.1973 0.7287 -0.0777 l_carpal_distal_interphalangeal_4 0.1983 0.7045 -0.0767 l_carpometacarpal_5 0.1925 0.8066 -0.1036 l_metacarpophalangeal_5 0.1925 0.7866 -0.1036 l_carpal_proximal_interphalangeal_5 0.1938 0.7452 -0.1024 l_carpal_distal_interphalangeal_5 0.1948 0.7277 -0.1017 r_sternoclavicular -0.0694 1.4600 -0.0330 r_acromioclavicular -0.0836 1.4281 -0.0401 r_shoulder -0.1907 1.4407 -0.0325 r_elbow -0.1949 1.1388 -0.0620 r_radiocarpal -0.1959 0.8694 -0.0521 r_carpometacarpal_1 -0.1899 0.8502 -0.0473 r_metacarpophalangeal_1 -0.1874 0.8256 0.0306 r_carpal_interphalangeal_1 -0.1864 0.8190 0.0506 r_carpometacarpal_2 -0.1961 0.8055 -0.0218 r_metacarpophalangeal_2 -0.1961 0.7846 -0.0218 r_carpal_proximal_interphalangeal_2 -0.1954 0.7393 -0.0185 r_carpal_distal_interphalangeal_2 -0.1945 0.7169 -0.0173 r_carpometacarpal_3 -0.1972 0.8060 -0.0468 r_metacarpophalangeal_3 -0.1972 0.7849 -0.0468 r_carpal_proximal_interphalangeal_3 -0.1950 0.7304 -0.0441 r_carpal_distal_interphalangeal_3 -0.1939 0.7042 -0.0432 r_carpometacarpal_4 -0.1951 0.8049 -0.0732 r_metacarpophalangeal_4 -0.1951 0.7845 -0.0732 r_carpal_proximal_interphalangeal_4 -0.1920 0.7318 -0.0716 r_carpal_distal_interphalangeal_4 -0.1908 0.7077 -0.0706 r_carpometacarpal_5 -0.1926 0.8096 -0.0975 r_metacarpophalangeal_5 -0.1926 0.7896 -0.0975 r_carpal_proximal_interphalangeal_5 -0.1902 0.7483 -0.0963 r_carpal_distal_interphalangeal_5 -0.1908 0.7540 -0.0960 """ joint_heirarchy_loa4 = """ humanoid_root : sacrum sacroiliac : pelvis | l_hip : l_thigh | | l_knee : l_calf | | l_talocrural : l_talus | | l_talocalcaneonavicular : l_navicular | | | l_cuneonavicular_1 : l_cuneiform_1 | | | | l_tarsometatarsal_1 : l_metatarsal_1 | | | | l_metatarsophalangeal_1 : l_tarsal_proximal_phalanx_1 | | | | l_tarsal_interphalangeal_1 : l_tarsal_distal_phalanx_1 | | | l_cuneonavicular_2 : l_cuneiform_2 | | | | l_tarsometatarsal_2 : l_metatarsal_2 | | | | # : l_tarsal_proximal_phalanx_2 | | | | l_tarsal_proximal_interphalangeal_2 : l_tarsal_middle_phalanx_2 | | | | l_tarsal_distal_interphalangeal_2 : l_tarsal_distal_phalanx_2 | | | l_cuneonavicular_3 : l_cuneiform_3 | | | l_tarsometatarsal_3 : l_metatarsal_3 | | | l_metatarsophalangeal_3 : l_tarsal_proximal_phalanx_3 | | | l_tarsal_proximal_interphalangeal_3 : l_tarsal_middle_phalanx_3 | | | l_tarsal_distal_interphalangeal_3 : l_tarsal_distal_phalanx_3 | | l_calcaneocuboid : l_calcaneus | | l_transversetarsal : l_cuboid | | l_tarsometatarsal_4 : l_metatarsal_4 | | | l_metatarsophalangeal_4 : l_tarsal_proximal_phalanx_4 | | | l_tarsal_proximal_interphalangeal_4 : l_tarsal_middle_phalanx_4 | | | l_tarsal_distal_interphalangeal_4 : l_tarsal_distal_phalanx_4 | | l_tarsometatarsal_5 : l_metatarsal_5 | | l_metatarsophalangeal_5 : l_tarsal_proximal_phalanx_5 | | l_tarsal_proximal_interphalangeal_5 : l_tarsal_middle_phalanx_5 | | l_tarsal_distal_interphalangeal_5 : l_tarsal_distal_phalanx_5 | r_hip : r_thigh | r_knee : r_calf | r_talocrural : r_talus | r_talocalcaneonavicular : r_navicular | | r_cuneonavicular_1 : r_cuneiform_1 | | | r_tarsometatarsal_1 : r_metatarsal_1 | | | r_metatarsophalangeal_1 : r_tarsal_proximal_phalanx_1 | | | r_tarsal_interphalangeal_1 : r_tarsal_distal_phalanx_1 | | r_cuneonavicular_2 : r_cuneiform_2 | | | r_tarsometatarsal_2 : r_metatarsal_2 | | | r_metatarsophalangeal_2 : r_tarsal_proximal_phalanx_2 | | | r_tarsal_proximal_interphalangeal_2 : r_tarsal_middle_phalanx_2 | | | r_tarsal_distal_interphalangeal_2 : r_tarsal_distal_phalanx_2 | | r_cuneonavicular_3 : r_cuneiform_3 | | r_tarsometatarsal_3 : r_metatarsal_3 | | r_metatarsophalangeal_3 : r_tarsal_proximal_phalanx_3 | | r_tarsal_proximal_interphalangeal_3 : r_tarsal_middle_phalanx_3 | | r_tarsal_distal_interphalangeal_3 : r_tarsal_distal_phalanx_3 | r_calcaneocuboid : r_calcaneus | r_transversetarsal : r_cuboid | r_tarsometatarsal_4 : r_metatarsal_4 | | r_metatarsophalangeal_4 : r_tarsal_proximal_phalanx_4 | | r_tarsal_proximal_interphalangeal_4 : r_tarsal_middle_phalanx_4 | | r_tarsal_distal_interphalangeal_4 : r_tarsal_distal_phalanx_4 | r_tarsometatarsal_5 : r_metatarsal_5 | r_metatarsophalangeal_5 : r_tarsal_proximal_phalanx_5 | r_tarsal_proximal_interphalangeal_5 : r_tarsal_middle_phalanx_5 | r_tarsal_distal_interphalangeal_5 : r_tarsal_distal_phalanx_5 vl5 : l5 vl4 : l4 vl3 : l3 vl2 : l2 vl1 : l1 vt12 : t12 vt11 : t11 vt10 : t10 vt9 : t9 vt8 : t8 vt7 : t7 vt6 : t6 vt5 : t5 vt4 : t4 vt3 : t3 vt2 : t2 vt1 : t1 vc7 : c7 | vc6 : c6 | vc5 : c5 | vc4 : c4 | vc3 : c3 | vc2 : c2 | vc1 : c1 | skullbase : skull | l_eyelid_joint : l_eyelid | r_eyelid_joint : r_eyelid | l_eyeball_joint : l_eyeball | r_eyeball_joint : r_eyeball | l_eyebrow_joint : l_eyebrow | r_eyebrow_joint : r_eyebrow | temporomandibular : jaw l_sternoclavicular : l_clavicle | l_acromioclavicular : l_scapula | l_shoulder : l_upperarm | l_elbow : l_forearm | l_radiocarpal : l_carpal | l_midcarpal_1 : l_trapezium | | l_carpometacarpal_1 : l_metacarpal_1 | | l_metacarpophalangeal_1 : l_carpal_proximal_phalanx_1 | | l_carpal_interphalangeal_1 : l_carpal_distal_phalanx_1 | l_midcarpal_2 : l_trapezoid | | l_carpometacarpal_2 : l_metacarpal_2 | | l_metacarpophalangeal_2 : l_carpal_proximal_phalanx_2 | | l_carpal_proximal_interphalangeal_2 : l_carpal_middle_phalanx_2 | | l_carpal_distal_interphalangeal_2 : l_carpal_distal_phalanx_2 | l_midcarpal_3 : l_capitate | | l_carpometacarpal_3 : l_metacarpal_3 | | l_metacarpophalangeal_3 : l_carpal_proximal_phalanx_3 | | l_carpal_proximal_interphalangeal_3 : l_carpal_middle_phalanx_3 | | l_carpal_distal_interphalangeal_3 : l_carpal_distal_phalanx_3 | l_midcarpal_4_5 : l_hamate | l_carpometacarpal_4 : l_metacarpal_4 | | l_metacarpophalangeal_4 : l_carpal_proximal_phalanx_4 | | l_carpal_proximal_interphalangeal_4 : l_carpal_middle_phalanx_4 | | l_carpal_distal_interphalangeal_4 : l_carpal_distal_phalanx_4 | l_carpometacarpal_5 : l_metacarpal_5 | l_metacarpophalangeal_5 : l_carpal_proximal_phalanx_5 | l_carpal_proximal_interphalangeal_5 : l_carpal_middle_phalanx_5 | l_carpal_distal_interphalangeal_5 : l_carpal_distal_phalanx_5 r_sternoclavicular : r_clavicle r_acromioclavicular : r_scapula r_shoulder : r_upperarm r_elbow : r_forearm r_radiocarpal : r_carpal r_midcarpal_1 : r_trapezium | r_carpometacarpal_1 : r_metacarpal_1 | r_metacarpophalangeal_1 : r_carpal_proximal_phalanx_1 | r_carpal_interphalangeal_1 : r_carpal_distal_phalanx_1 r_midcarpal_2 : l_trapezoid | r_carpometacarpal_2 : r_metacarpal_2 | r_metacarpophalangeal_2 : r_carpal_proximal_phalanx_2 | r_carpal_proximal_interphalangeal_2 : r_carpal_middle_phalanx_2 | r_carpal_distal_interphalangeal_2 : r_carpal_distal_phalanx_2 r_midcarpal_3 : r_capitate | r_carpometacarpal_3 : r_metacarpal_3 | r_metacarpophalangeal_3 : r_carpal_proximal_phalanx_3 | r_carpal_proximal_interphalangeal_3 : r_carpal_middle_phalanx_3 | r_carpal_distal_interphalangeal_3 : r_carpal_distal_phalanx_3 r_midcarpal_4_5 : r_hamate r_carpometacarpal_4 : r_metacarpal_4 | r_metacarpophalangeal_4 : r_carpal_proximal_phalanx_4 | r_carpal_proximal_interphalangeal_4 : r_carpal_middle_phalanx_4 | r_carpal_distal_interphalangeal_4 : r_carpal_distal_phalanx_4 r_carpometacarpal_5 : r_metacarpal_5 r_metacarpophalangeal_5 : r_carpal_proximal_phalanx_5 r_carpal_proximal_interphalangeal_5 : r_carpal_middle_phalanx_5 r_carpal_distal_interphalangeal_5 : r_carpal_distal_phalanx_5 """ # https://www.w3schools.com/python/python_strings.asp import string def readline(data): nexdata = None line = None if(len(data) > 0): index = data.find("\n") line = data[:index-1] nextdata = data[index+1:] return(line,nexdata) def parse_hier( hier ): lines = [] data= hier while(data != None): (line,data) = readline(data) line = line.replace("|"," ") lines.append(line) return lines print("fimmu") flatlist = parse_hier(joint_heirarchy_loa4) for line in flatlist: print(line)