Как получить позицию btRigid, которая прикреплена к btHingeConstraint

Я пытаюсь создать коробку, прикрепленную к петле, используя Bullet Physics,

Вот мой код:

float mass = 2.0f;

btCollisionShape * shape = new btBoxShape(btVector3(5.0f, 5.0f, 5.0f));
btVector3 inertia ;
shape->calculateLocalInertia(mass, inertia);

btDefaultMotionState * motionState = new btDefaultMotionState(btTransform(btQuaternion(0,0,0,1), btVector3(0, 10, 0)));

btRigidBody::btRigidBodyConstructionInfo  CI (mass, motionState, shape, inertia);

m_pRigidBody = new btRigidBody(CI);

btVector3 PivotIn(0, 20, 0);
btVector3 AxisIn(0, 0, 1);

m_pHinge = new btHingeConstraint(*m_pRigidBody, PivotIn, AxisIn);
float   targetVelocity = 1.0f;
float   maxMotorImpulse = 1.0f;
m_pHinge->enableAngularMotor(true,targetVelocity,maxMotorImpulse);

pDynamicsWorld->addConstraint(m_pHinge);

Мне интересно, как я могу получить положение и вращение RigidBodyAтак что я могу нарисовать его, вероятно, на экране через openGL,

Я попробовал что-то вроде следующего:

btTransform trans;
m_pHinge->getRigidBodyA().getMotionState()->getWorldTransform(trans);

... но это не сработало.

У вас есть идея, что я делаю не так?

Спасибо за любые ответы.

0 ответов

Другие вопросы по тегам