def qpos_names()

in bisk/features/base.py [0:0]


    def qpos_names(self) -> List[str]:
        names = ['' for i in range(len(self.p.data.qpos))]
        for jn in self.p.named.model.jnt_type.axes.row.names:
            typ = self.p.named.model.jnt_type[jn]
            adr = self.p.named.model.jnt_qposadr[jn]
            if typ == 0:
                names[adr + 0] = f'{jn}:px'
                names[adr + 1] = f'{jn}:py'
                names[adr + 2] = f'{jn}:pz'
                names[adr + 3] = f'{jn}:ow'
                names[adr + 4] = f'{jn}:ox'
                names[adr + 5] = f'{jn}:oy'
                names[adr + 6] = f'{jn}:oz'
            elif typ == 1:
                names[adr + 0] = f'{jn}:ow'
                names[adr + 1] = f'{jn}:ox'
                names[adr + 2] = f'{jn}:oy'
                names[adr + 3] = f'{jn}:oz'
            elif typ == 2 or typ == 3:
                names[adr] = f'{jn}:p'
            else:
                raise ValueError(f'Unknown joint type {typ}')
        return names