17 #ifndef _GAZEBO_BULLET_UNIVERSAL_CONSTRAINT_ 18 #define _GAZEBO_BULLET_UNIVERSAL_CONSTRAINT_ 22 ATTRIBUTE_ALIGNED16(
class) gzBtUniversalConstraint
23 : public btGeneric6DofConstraint
25 public: BT_DECLARE_ALIGNED_ALLOCATOR();
34 public: gzBtUniversalConstraint(
37 const btVector3 &_anchor,
38 const btVector3 &_axis1,
39 const btVector3 &_axis2);
47 public: gzBtUniversalConstraint(
49 const btVector3 &_anchor,
50 const btVector3 &_axis1,
51 const btVector3 &_axis2);
55 public:
const btVector3 &getAnchor();
59 public:
const btVector3 &getAnchor2();
63 public:
const btVector3 &getAxis1();
67 public:
const btVector3 &getAxis2();
71 public: btScalar getAngle1();
75 public: btScalar getAngle2();
80 public:
void getUpperLimit(btScalar &_ang1max, btScalar &_ang2max);
85 public:
void getLowerLimit(btScalar &_ang1min, btScalar &_ang2min);
90 public:
void setUpperLimit(btScalar _ang1max, btScalar _ang2max);
95 public:
void setLowerLimit(btScalar _ang1min, btScalar _ang2min);
100 public:
void setAxis(
const btVector3 &_axis1,
const btVector3 &_axis2);
105 public: btScalar getMaxMotorImpulse1()
const;
110 public: btScalar getMaxMotorImpulse2()
const;
115 public:
void setMaxMotorImpulse1(btScalar _i);
120 public:
void setMaxMotorImpulse2(btScalar _i);
123 protected: btVector3 m_anchor;
126 protected: btVector3 m_axis1;
129 protected: btVector3 m_axis2;
132 private: btScalar maxMotorImpulse[2];