def read_bonedata(self, fid):
bone_count = <NUM_LIT:0><EOL>lin = self.read_line(fid)<EOL>while lin[<NUM_LIT:0>]!='<STR_LIT::>':<EOL><INDENT>parts = lin.split()<EOL>if parts[<NUM_LIT:0>] == '<STR_LIT>':<EOL><INDENT>bone_count += <NUM_LIT:1><EOL>self.vertices.append(vertex(name = '<STR_LIT>', id=np.NaN,<EOL>meta={'<STR_LIT:name>': [],<EOL>'<STR_LIT:id>': [], <EOL>'<STR_LIT>': [], <EOL>'<STR_LIT>': [], <EOL>'<STR_LIT>': [<NUM_LIT:0.>, <NUM_LIT:0.>, <NUM_LIT:0.>], <EOL>'<STR_LIT>': [], <EOL>'<STR_LIT:C>': np.eye(<NUM_LIT:3>), <EOL>'<STR_LIT>': np.eye(<NUM_LIT:3>), <EOL>'<STR_LIT>': [], <EOL>'<STR_LIT>': [], <EOL>'<STR_LIT>': [], <EOL>'<STR_LIT>': [], <EOL>'<STR_LIT>': [], <EOL>'<STR_LIT>': [], <EOL>'<STR_LIT>': [],<EOL>'<STR_LIT>': np.array([<NUM_LIT:0.>, <NUM_LIT:0.>, <NUM_LIT:0.>]),<EOL>'<STR_LIT>': np.eye(<NUM_LIT:3>)}))<EOL>lin = self.read_line(fid)<EOL><DEDENT>elif parts[<NUM_LIT:0>]=='<STR_LIT:id>':<EOL><INDENT>self.vertices[bone_count].id = int(parts[<NUM_LIT:1>])<EOL>lin = self.read_line(fid)<EOL>self.vertices[bone_count].children = []<EOL><DEDENT>elif parts[<NUM_LIT:0>]=='<STR_LIT:name>':<EOL><INDENT>self.vertices[bone_count].name = parts[<NUM_LIT:1>]<EOL>lin = self.read_line(fid)<EOL><DEDENT>elif parts[<NUM_LIT:0>]=='<STR_LIT>':<EOL><INDENT>direction = np.array([float(parts[<NUM_LIT:1>]), float(parts[<NUM_LIT:2>]), float(parts[<NUM_LIT:3>])])<EOL>lin = self.read_line(fid)<EOL><DEDENT>elif parts[<NUM_LIT:0>]=='<STR_LIT>':<EOL><INDENT>lgth =  float(parts[<NUM_LIT:1>])<EOL>lin = self.read_line(fid)<EOL><DEDENT>elif parts[<NUM_LIT:0>]=='<STR_LIT>':<EOL><INDENT>self.vertices[bone_count].meta['<STR_LIT>'] = np.array([float(parts[<NUM_LIT:1>]),<EOL>float(parts[<NUM_LIT:2>]),<EOL>float(parts[<NUM_LIT:3>])])<EOL>self.vertices[bone_count].meta['<STR_LIT>'] =  parts[-<NUM_LIT:1>][::-<NUM_LIT:1>].lower()<EOL>lin = self.read_line(fid)<EOL><DEDENT>elif parts[<NUM_LIT:0>]=='<STR_LIT>':<EOL><INDENT>order = []<EOL>for i in range(<NUM_LIT:1>, len(parts)):<EOL><INDENT>if parts[i]== '<STR_LIT>':<EOL><INDENT>chan = '<STR_LIT>'<EOL>order.append('<STR_LIT:x>')<EOL><DEDENT>elif parts[i] =='<STR_LIT>':<EOL><INDENT>chan = '<STR_LIT>'<EOL>order.append('<STR_LIT:y>')<EOL><DEDENT>elif parts[i] == '<STR_LIT>':<EOL><INDENT>chan = '<STR_LIT>'<EOL>order.append('<STR_LIT:z>')<EOL><DEDENT>elif parts[i] == '<STR_LIT>':<EOL><INDENT>chan = '<STR_LIT>'<EOL><DEDENT>elif parts[i] == '<STR_LIT>':<EOL><INDENT>chan = '<STR_LIT>'<EOL><DEDENT>elif parts[i] == '<STR_LIT>':<EOL><INDENT>chan = '<STR_LIT>'<EOL><DEDENT>elif parts[i] == '<STR_LIT:l>':<EOL><INDENT>chan = '<STR_LIT>'<EOL><DEDENT>self.vertices[bone_count].meta['<STR_LIT>'].append(chan)<EOL><DEDENT>self.vertices[bone_count].meta['<STR_LIT>'] = order[::-<NUM_LIT:1>]<EOL>lin = self.read_line(fid)<EOL><DEDENT>elif parts[<NUM_LIT:0>]=='<STR_LIT>':<EOL><INDENT>self.vertices[bone_count].meta['<STR_LIT>'] = [[float(parts[<NUM_LIT:1>][<NUM_LIT:1>:]),  float(parts[<NUM_LIT:2>][:-<NUM_LIT:1>])]]<EOL>lin = self.read_line(fid)<EOL>while lin !='<STR_LIT:end>':<EOL><INDENT>parts = lin.split()<EOL>self.vertices[bone_count].meta['<STR_LIT>'].append([float(parts[<NUM_LIT:0>][<NUM_LIT:1>:]), float(parts[<NUM_LIT:1>][:-<NUM_LIT:1>])])<EOL>lin = self.read_line(fid)<EOL><DEDENT>self.vertices[bone_count].meta['<STR_LIT>'] = np.array(self.vertices[bone_count].meta['<STR_LIT>'])<EOL><DEDENT>elif parts[<NUM_LIT:0>]=='<STR_LIT:end>':<EOL><INDENT>self.vertices[bone_count].meta['<STR_LIT>'] = direction*lgth<EOL>lin = self.read_line(fid)<EOL><DEDENT><DEDENT>return lin<EOL>
Read bone data from an acclaim skeleton file stream.