fixed names of pivot and axis

This commit is contained in:
Seth Alves 2017-04-12 07:22:27 -07:00
parent cc77fce95f
commit 53cb192af1
2 changed files with 22 additions and 22 deletions

View file

@ -21,8 +21,8 @@ const uint16_t ObjectConstraintHinge::constraintVersion = 1;
ObjectConstraintHinge::ObjectConstraintHinge(const QUuid& id, EntityItemPointer ownerEntity) : ObjectConstraintHinge::ObjectConstraintHinge(const QUuid& id, EntityItemPointer ownerEntity) :
ObjectConstraint(DYNAMIC_TYPE_HINGE, id, ownerEntity), ObjectConstraint(DYNAMIC_TYPE_HINGE, id, ownerEntity),
_rbATranslation(glm::vec3(0.0f)), _pivotInA(glm::vec3(0.0f)),
_rbARotation(glm::quat()) _axis(glm::vec3(0.0f))
{ {
#if WANT_DEBUG #if WANT_DEBUG
qCDebug(physics) << "ObjectConstraintHinge::ObjectConstraintHinge"; qCDebug(physics) << "ObjectConstraintHinge::ObjectConstraintHinge";
@ -48,13 +48,13 @@ btTypedConstraint* ObjectConstraintHinge::getConstraint() {
bool useReferenceFrameA { false }; bool useReferenceFrameA { false };
btTransform rigidBodyAFrame(glmToBullet(_rbARotation), glmToBullet(_rbATranslation)); btTransform rigidBodyAFrame(btQuaternion(0.0f, 0.0f, 0.0f, 1.0f), glmToBullet(_pivotInA));
btHingeConstraint* constraint = new btHingeConstraint(*rigidBodyA, rigidBodyAFrame, useReferenceFrameA); btHingeConstraint* constraint = new btHingeConstraint(*rigidBodyA, rigidBodyAFrame, useReferenceFrameA);
_constraint = constraint; _constraint = constraint;
// constraint->setAngularOnly(true); // constraint->setAngularOnly(true);
btVector3 axisInA = glmToBullet(glm::vec3(0.0f, 1.0f, 0.0f)); btVector3 axisInA = glmToBullet(_axis);
constraint->setAxis(axisInA); constraint->setAxis(axisInA);
return constraint; return constraint;
@ -62,27 +62,27 @@ btTypedConstraint* ObjectConstraintHinge::getConstraint() {
bool ObjectConstraintHinge::updateArguments(QVariantMap arguments) { bool ObjectConstraintHinge::updateArguments(QVariantMap arguments) {
glm::vec3 rbATranslation; glm::vec3 pivotInA;
glm::quat rbARotation; glm::vec3 axis;
bool needUpdate = false; bool needUpdate = false;
bool somethingChanged = ObjectConstraint::updateArguments(arguments); bool somethingChanged = ObjectConstraint::updateArguments(arguments);
withReadLock([&]{ withReadLock([&]{
bool ok = true; bool ok = true;
rbATranslation = EntityDynamicInterface::extractVec3Argument("hinge constraint", arguments, "aTranslation", ok, false); pivotInA = EntityDynamicInterface::extractVec3Argument("hinge constraint", arguments, "pivot", ok, false);
if (!ok) { if (!ok) {
rbATranslation = _rbATranslation; pivotInA = _pivotInA;
} }
ok = true; ok = true;
rbARotation = EntityDynamicInterface::extractQuatArgument("hinge constraint", arguments, "aRotation", ok, false); axis = EntityDynamicInterface::extractVec3Argument("hinge constraint", arguments, "axis", ok, false);
if (!ok) { if (!ok) {
rbARotation = _rbARotation; axis = _axis;
} }
if (somethingChanged || if (somethingChanged ||
rbATranslation != _rbATranslation || pivotInA != _pivotInA ||
rbARotation != _rbARotation) { axis != _axis) {
// something changed // something changed
needUpdate = true; needUpdate = true;
} }
@ -90,8 +90,8 @@ bool ObjectConstraintHinge::updateArguments(QVariantMap arguments) {
if (needUpdate) { if (needUpdate) {
withWriteLock([&] { withWriteLock([&] {
_rbATranslation = rbATranslation; _pivotInA = pivotInA;
_rbARotation = rbARotation; _axis = axis;
_active = true; _active = true;
auto ownerEntity = _ownerEntity.lock(); auto ownerEntity = _ownerEntity.lock();
@ -109,8 +109,8 @@ bool ObjectConstraintHinge::updateArguments(QVariantMap arguments) {
QVariantMap ObjectConstraintHinge::getArguments() { QVariantMap ObjectConstraintHinge::getArguments() {
QVariantMap arguments = ObjectConstraint::getArguments(); QVariantMap arguments = ObjectConstraint::getArguments();
withReadLock([&] { withReadLock([&] {
arguments["aTranslation"] = glmToQMap(_rbATranslation); arguments["pivot"] = glmToQMap(_pivotInA);
arguments["aRotation"] = glmToQMap(_rbARotation); arguments["axis"] = glmToQMap(_axis);
}); });
return arguments; return arguments;
} }
@ -124,8 +124,8 @@ QByteArray ObjectConstraintHinge::serialize() const {
dataStream << ObjectConstraintHinge::constraintVersion; dataStream << ObjectConstraintHinge::constraintVersion;
withReadLock([&] { withReadLock([&] {
dataStream << _rbATranslation; dataStream << _pivotInA;
dataStream << _rbARotation; dataStream << _axis;
dataStream << localTimeToServerTime(_expires); dataStream << localTimeToServerTime(_expires);
dataStream << _tag; dataStream << _tag;
}); });
@ -152,8 +152,8 @@ void ObjectConstraintHinge::deserialize(QByteArray serializedArguments) {
} }
withWriteLock([&] { withWriteLock([&] {
dataStream >> _rbATranslation; dataStream >> _pivotInA;
dataStream >> _rbARotation; dataStream >> _axis;
quint64 serverExpires; quint64 serverExpires;
dataStream >> serverExpires; dataStream >> serverExpires;

View file

@ -32,8 +32,8 @@ public:
protected: protected:
static const uint16_t constraintVersion; static const uint16_t constraintVersion;
glm::vec3 _rbATranslation; glm::vec3 _pivotInA;
glm::quat _rbARotation; glm::vec3 _axis;
}; };
#endif // hifi_ObjectConstraintHinge_h #endif // hifi_ObjectConstraintHinge_h