00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
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
00029
00030
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