@@ -1326,7 +1326,7 @@ def _kernel_forward_kinematics(
13261326 # set new qpos
13271327 self ._solver .qpos [qs_idx [i_q_ ], envs_idx [i_b_ ]] = qpos [i_b_ , i_q_ ]
13281328 # run FK
1329- self . _solver .func_forward_kinematics_entity (
1329+ gs . engine . solvers . rigid . rigid_solver_decomp .func_forward_kinematics_entity (
13301330 self ._idx_in_solver ,
13311331 envs_idx [i_b_ ],
13321332 self ._solver .links_state ,
@@ -1343,16 +1343,16 @@ def _kernel_forward_kinematics(
13431343 ti .loop_config (serialize = self ._solver ._para_level < gs .PARA_LEVEL .PARTIAL )
13441344 for i_l_ , i_b_ in ti .ndrange (links_idx .shape [0 ], envs_idx .shape [0 ]):
13451345 for i in ti .static (range (3 )):
1346- links_pos [i_b_ , i_l_ , i ] = self ._solver .links_state .pos [links_idx [i_l_ ], envs_idx [i_b_ ]]
1346+ links_pos [i_b_ , i_l_ , i ] = self ._solver .links_state .pos [links_idx [i_l_ ], envs_idx [i_b_ ]][ i ]
13471347 for i in ti .static (range (4 )):
1348- links_quat [i_b_ , i_l_ , i ] = self ._solver .links_state .quat [links_idx [i_l_ ], envs_idx [i_b_ ]]
1348+ links_quat [i_b_ , i_l_ , i ] = self ._solver .links_state .quat [links_idx [i_l_ ], envs_idx [i_b_ ]][ i ]
13491349
13501350 ti .loop_config (serialize = self ._solver ._para_level < gs .PARA_LEVEL .ALL )
13511351 for i_q_ , i_b_ in ti .ndrange (qs_idx .shape [0 ], envs_idx .shape [0 ]):
13521352 # restore original qpos
13531353 self ._solver .qpos [qs_idx [i_q_ ], envs_idx [i_b_ ]] = self ._IK_qpos_orig [qs_idx [i_q_ ], envs_idx [i_b_ ]]
13541354 # run FK
1355- self . _solver .func_forward_kinematics_entity (
1355+ gs . engine . solvers . rigid . rigid_solver_decomp .func_forward_kinematics_entity (
13561356 self ._idx_in_solver ,
13571357 envs_idx [i_b_ ],
13581358 self ._solver .links_state ,
0 commit comments