/* ----------------------------------------------------------------------------- GSFramework Copyright 2001-2013 Emmanuel Julien. All Rights Reserved. ----------------------------------------------------------------------------- */ #ifndef __NBULLET_CONSTRAINT__ #define __NBULLET_CONSTRAINT__ #include "physic/physic_constraint.h" class btDiscreteDynamicsWorld; class btTypedConstraint; namespace GS { namespace S3D { /* @short Bullet physic constraint. @author Emmanuel Julien (ejulien@gsworks.fr) */ class BulletConstraint : public PhysicConstraint { friend class BulletWorld; btDiscreteDynamicsWorld *world; btTypedConstraint *constraint; public: void setLimitHinge(float low, float high, float _softness = 0.9f, float _biasFactor = 0.3f, float _relaxationFactor = 1.0f); void SetPivotA(const Matrix4 &); void SetPivotB(const Matrix4 &); bool SetupConstraint(const PhysicConstraintDesc &); void DeleteConstraint(); void Enable(bool = true); BulletConstraint(btDiscreteDynamicsWorld *); virtual ~BulletConstraint(); }; } // S3D } // GS #endif // __NBULLET_CONSTRAINT__