// // internal cast // public static GhostObject Upcast(CollisionObject colObj) { if (colObj.GetInternalType()==CollisionObjectTypes.CO_GHOST_OBJECT) { return (GhostObject)colObj; } return null; }
///to keep collision detection and dynamics separate we don't store a rigidbody pointer ///but a rigidbody is derived from btCollisionObject, so we can safely perform an upcast public static RigidBody Upcast(CollisionObject colObj) { if (colObj.GetInternalType() == CollisionObjectTypes.CO_RIGID_BODY) { return colObj as RigidBody; } return null; }