trying to zero velocity during an equiped adjustment

This commit is contained in:
Seth Alves 2016-02-05 15:01:46 -08:00
parent 07c70a1ba2
commit d567020283

View file

@ -946,7 +946,7 @@ function MyController(hand) {
return; return;
} }
// near grab or equip with action // near grab or equip with action
if (near && grabbableData.refCount < 1) { if (near && (grabbableData.refCount < 1 || entityHasActions(this.grabbedEntity))) {
this.setState(this.state == STATE_SEARCHING ? STATE_NEAR_GRABBING : STATE_EQUIP); this.setState(this.state == STATE_SEARCHING ? STATE_NEAR_GRABBING : STATE_EQUIP);
return; return;
} }
@ -1667,18 +1667,6 @@ function MyController(hand) {
// (1) far-grab, pull to self, near grab, then throw // (1) far-grab, pull to self, near grab, then throw
// (2) equip something physical and adjust it with a other-hand grab without the thing drifting // (2) equip something physical and adjust it with a other-hand grab without the thing drifting
(!this.isInitialGrab && grabData.refCount > 1)) { (!this.isInitialGrab && grabData.refCount > 1)) {
Entities.editEntity(this.grabbedEntity, {
velocity: {
x: 0,
y: 0,
z: 0
},
angularVelocity: {
x: 0,
y: 0,
z: 0
}
});
noVelocity = true; noVelocity = true;
} }
} }
@ -1783,22 +1771,27 @@ function MyController(hand) {
data["dynamic"] && data["dynamic"] &&
data["parentID"] == NULL_UUID && data["parentID"] == NULL_UUID &&
!data["collisionless"]) { !data["collisionless"]) {
forceVelocity = true; deactiveProps["velocity"] = {x: 0.0, y: 0.1, z: 0.0};
}
if (noVelocity) {
deactiveProps["velocity"] = {x: 0.0, y: 0.0, z: 0.0};
deactiveProps["angularVelocity"] = {x: 0.0, y: 0.0, z: 0.0};
} }
Entities.editEntity(entityID, deactiveProps); Entities.editEntity(entityID, deactiveProps);
if (forceVelocity) {
Entities.editEntity(entityID, {velocity:{x:0, y:0.1, z:0}});
}
data = null; data = null;
} else if (this.doubleParentGrab) { } else if (this.doubleParentGrab) {
// we parent-grabbed this from another parent grab. try to put it back where we found it. // we parent-grabbed this from another parent grab. try to put it back where we found it.
var deactiveProps = { var deactiveProps = {
parentID: this.previousParentID, parentID: this.previousParentID,
parentJointIndex: this.previousParentJointIndex parentJointIndex: this.previousParentJointIndex,
velocity: {x: 0.0, y: 0.0, z: 0.0},
angularVelocity: {x: 0.0, y: 0.0, z: 0.0}
}; };
Entities.editEntity(entityID, deactiveProps); Entities.editEntity(entityID, deactiveProps);
} else if (noVelocity) {
Entities.editEntity(entityID, {velocity: {x: 0.0, y: 0.0, z: 0.0},
angularVelocity: {x: 0.0, y: 0.0, z: 0.0}});
} }
} else { } else {
data = null; data = null;