| 999 | } |
| 1000 | |
| 1001 | void CPHSimpleCharacter::SetPosition(Fvector pos) |
| 1002 | { |
| 1003 | VERIFY_BOUNDARIES(pos, phBoundaries, PhysicsRefObject()); |
| 1004 | if (!b_exist) |
| 1005 | return; |
| 1006 | m_death_position[0] = pos.x; |
| 1007 | m_death_position[1] = pos.y + m_radius; |
| 1008 | m_death_position[2] = pos.z; |
| 1009 | m_safe_position[0] = pos.x; |
| 1010 | m_safe_position[1] = pos.y + m_radius; |
| 1011 | m_safe_position[2] = pos.z; |
| 1012 | b_death_pos = false; |
| 1013 | |
| 1014 | dGeomGetUserData(m_wheel)->pushing_b_neg = false; |
| 1015 | dGeomGetUserData(m_hat)->pushing_b_neg = false; |
| 1016 | dGeomGetUserData(m_geom_shell)->pushing_b_neg = false; |
| 1017 | dGeomGetUserData(m_hat)->pushing_b_neg = false; |
| 1018 | dGeomGetUserData(m_wheel)->pushing_neg = false; |
| 1019 | dGeomGetUserData(m_hat)->pushing_neg = false; |
| 1020 | dGeomGetUserData(m_geom_shell)->pushing_neg = false; |
| 1021 | dGeomGetUserData(m_hat)->pushing_neg = false; |
| 1022 | |
| 1023 | dBodySetPosition(m_body, pos.x, pos.y + m_radius, pos.z); |
| 1024 | CPHDisablingTranslational::Reinit(); |
| 1025 | m_body_interpolation.ResetPositions(); |
| 1026 | CPHObject::spatial_move(); |
| 1027 | } |
| 1028 | |
| 1029 | void CPHSimpleCharacter::GetPosition(Fvector& vpos) |
| 1030 | { |
nothing calls this directly
no test coverage detected