// Filename: physxController.I // Created by: enn0x (24Sep09) // //////////////////////////////////////////////////////////////////// // // PANDA 3D SOFTWARE // Copyright (c) Carnegie Mellon University. All rights reserved. // // All use of this software is subject to the terms of the revised BSD // license. You should have received a copy of this license along // with this source code in a file named "LICENSE." // //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// // Function: PhysxController::Constructor // Access: Protected // Description: //////////////////////////////////////////////////////////////////// INLINE PhysxController:: PhysxController() : PhysxObject() { _speed = NxVec3(0.0f, 0.0f, 0.0f); _omega = 0.0f; _heading = 0.0f; _jumping = false; _jump_time = 0.0f; _jump_v0 = 0.0f; _sharpness = 1.0f; _min_dist = 0.0001f; _up_vector = NxVec3(0.0f, 1.0f, 0.0f); _up_axis = (NxHeightFieldAxis)physx_up_axis.get_value(); switch (_up_axis) { case NX_Z: _up_quat = NxQuat(90.0f, NxVec3(1.0f, 0.0f, 0.0f)); break; case NX_Y: _up_quat = NxQuat(0.0f, NxVec3(1.0f, 0.0f, 0.0f)); break; default: physx_cat.error() << "only y-up and z-up are permitted" << endl; } _up_quat_inv = _up_quat; _up_quat_inv.invert(); } //////////////////////////////////////////////////////////////////// // Function: PhysxController::ls // Access: Published // Description: //////////////////////////////////////////////////////////////////// INLINE void PhysxController:: ls() const { ls(nout); } //////////////////////////////////////////////////////////////////// // Function: PhysxController::ls // Access: Published // Description: //////////////////////////////////////////////////////////////////// INLINE void PhysxController:: ls(ostream &out, int indent_level) const { indent(out, indent_level) << get_type().get_name() << " (at 0x" << this << ")"; out << " A:0x" << get_actor(); out << "\n"; }