updated whiteboard to use new controller approach'

This commit is contained in:
ericrius1 2015-11-23 10:08:23 -08:00
parent eecb5b91b2
commit 08a64f6a6b

View file

@ -20,7 +20,7 @@
var _this;
var RIGHT_HAND = 1;
var LEFT_HAND = 0;
var MIN_POINT_DISTANCE = 0.01 ;
var MIN_POINT_DISTANCE = 0.01;
var MAX_POINT_DISTANCE = 0.5;
var MAX_POINTS_PER_LINE = 40;
var MAX_DISTANCE = 5;
@ -29,6 +29,11 @@
var MIN_STROKE_WIDTH = 0.0005;
var MAX_STROKE_WIDTH = 0.03;
var TRIGGER_CONTROLS = [
Controller.Standard.LT,
Controller.Standard.RT,
];
Whiteboard = function() {
_this = this;
};
@ -51,11 +56,9 @@
if (this.hand === RIGHT_HAND) {
this.getHandPosition = MyAvatar.getRightPalmPosition;
this.getHandRotation = MyAvatar.getRightPalmRotation;
this.triggerAction = Controller.findAction("RIGHT_HAND_CLICK");
} else if (this.hand === LEFT_HAND) {
this.getHandPosition = MyAvatar.getLeftPalmPosition;
this.getHandRotation = MyAvatar.getLeftPalmRotation;
this.triggerAction = Controller.findAction("LEFT_HAND_CLICK");
}
Overlays.editOverlay(this.laserPointer, {
visible: true
@ -76,7 +79,7 @@
if (this.intersection.intersects) {
var distance = Vec3.distance(handPosition, this.intersection.intersection);
if (distance < MAX_DISTANCE) {
this.triggerValue = Controller.getActionValue(this.triggerAction);
this.triggerValue = Controller.getValue(TRIGGER_CONTROLS[this.hand]);
this.currentStrokeWidth = map(this.triggerValue, 0, 1, MIN_STROKE_WIDTH, MAX_STROKE_WIDTH);
var displayPoint = this.intersection.intersection;
displayPoint = Vec3.sum(displayPoint, Vec3.multiply(this.normal, 0.01));
@ -87,7 +90,9 @@
y: this.currentStrokeWidth
}
});
print("TRIGGER VALUE " + this.triggerValue);
if (this.triggerValue > PAINT_TRIGGER_THRESHOLD) {
print("PAINT")
this.paint(this.intersection.intersection, this.intersection.surfaceNormal);
} else {
this.painting = false;
@ -184,7 +189,7 @@
},
stopFarTrigger: function() {
if(this.hand !== this.whichHand) {
if (this.hand !== this.whichHand) {
return;
}
this.stopPainting();
@ -209,7 +214,7 @@
entities.forEach(function(entity) {
var props = Entities.getEntityProperties(entity, ["name, userData"]);
var name = props.name;
if(!props.userData) {
if (!props.userData) {
return;
}
var whiteboardID = JSON.parse(props.userData).whiteboard;
@ -249,4 +254,4 @@
// entity scripts always need to return a newly constructed object of our type
return new Whiteboard();
});
});