Panda3D
|
00001 // Filename: physxRevoluteJointDesc.h 00002 // Created by: enn0x (28Sep09) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) Carnegie Mellon University. All rights reserved. 00008 // 00009 // All use of this software is subject to the terms of the revised BSD 00010 // license. You should have received a copy of this license along 00011 // with this source code in a file named "LICENSE." 00012 // 00013 //////////////////////////////////////////////////////////////////// 00014 00015 #ifndef PHYSXREVOLUTEJOINTDESC_H 00016 #define PHYSXREVOLUTEJOINTDESC_H 00017 00018 #include "pandabase.h" 00019 00020 #include "physxJointDesc.h" 00021 #include "physx_includes.h" 00022 00023 class PhysxSpringDesc; 00024 class PhysxMotorDesc; 00025 class PhysxJointLimitDesc; 00026 00027 //////////////////////////////////////////////////////////////////// 00028 // Class : PhysxRevoluteJointDesc 00029 // Description : Descriptor class for distance joint. See 00030 // PhysxRevoluteJoint. 00031 //////////////////////////////////////////////////////////////////// 00032 class EXPCL_PANDAPHYSX PhysxRevoluteJointDesc : public PhysxJointDesc { 00033 00034 PUBLISHED: 00035 INLINE PhysxRevoluteJointDesc(); 00036 INLINE ~PhysxRevoluteJointDesc(); 00037 00038 INLINE void set_to_default(); 00039 INLINE bool is_valid() const; 00040 00041 void set_projection_distance(float distance); 00042 void set_projection_angle(float angle); 00043 void set_spring(const PhysxSpringDesc &spring); 00044 void set_flag(PhysxRevoluteJointFlag flag, bool value); 00045 void set_motor(const PhysxMotorDesc &motor); 00046 void set_limit_low(const PhysxJointLimitDesc &low); 00047 void set_limit_high(const PhysxJointLimitDesc &high); 00048 void set_projection_mode(PhysxProjectionMode mode); 00049 00050 float get_projection_distance() const; 00051 float get_projection_angle() const; 00052 bool get_flag(PhysxRevoluteJointFlag flag) const; 00053 PhysxSpringDesc get_spring() const; 00054 PhysxMotorDesc get_motor() const; 00055 PhysxJointLimitDesc get_limit_low() const; 00056 PhysxJointLimitDesc get_limit_high() const; 00057 PhysxProjectionMode get_projection_mode() const; 00058 00059 public: 00060 NxJointDesc *ptr() const { return (NxJointDesc *)&_desc; }; 00061 NxRevoluteJointDesc _desc; 00062 }; 00063 00064 #include "physxRevoluteJointDesc.I" 00065 00066 #endif // PHYSXREVOLUTEJOINTDESC_H